Generation, storage and micro-grids