update deserialization implementation