refactoring package layout