Solar cell technology and applications