data model refactoring