Major Refactoring 2-1