Refactoring and other modifications
Refactoring