Thin-film Photovoltaic Technology