molecular energy harvesting