Thin-film solar cells