energy storage and harvesting