Continued refactoring
Continued refactoring
Continued refactoring