Refactoring by obvious implimentation