finished deserialize, modified serialize to use *dup*