Total Code Refactoring. Tests Refactoring Coming Soon.