refactor field deserialization per object