how do perovskite solar cells work