Promises and challenges of perovskite solar cells