package refactoring and error handle