Graphene in perovskite solar cells: device design, characterization and implementation