Lots of refactoring. Will describe on when pushing.
Lots of refactoring. Will describe on when pushing.