improve cyclic object deserialization