power generation using energy