refactoring data objects