some package refactoring