shipping refactoring