input package refactoring