driver class .
wrote serialization and deserialization