refactoring piano