boat refactoring