Thin film photovoltaic cells