added serialisation methods