completed refactoring Data