implemented serialization with DataObjects