support abstract de-serialization
support abstract de-serialization