hal serialization