Adding unmarshalling mathod
Fixing marshalling method
Implementing constructors for unmarshalling