add alternative deserialize2 implementation