#11 deserialize() refactor