Power generation and environmental energy