refactoring of package