work on serialization and tests