Solving the energy problem