Started Refactoring