add deserialize function wrap