refactor package