refactoring - data package must be independent