energy generation methods