improved deserialization - dynamic object properties