a new better serialization/deserialization interface? - see #10