Graphene based heterostructures