Further Refactoring