Thin-film photovoltaics