Generating energy from renewable sources