Refactoring 4th Pass