Nanocrystalline titanium dioxide (TiO2) thin film solar cells