add .toObject function