Graphene oxide: from fundamentals to applications