working on parsing and serialization