Solar cells and batteries could 'go viral'