Final Refactor
Fixing Merge conflict