Lots of refactoring without testing!!