Lots of Code Refactoring + improved segregation into functions for
neater code , more re-usability and simplified recursion
Removing commented Code
Merging remote and local branches