aaaa... refactoring we will go, refactoring we will go....