Completed serialization/deserialization + test. Yet has top root bug