improved deserialization