Refactoring...Refactoring...Refactoring.....