Huge refactoring, WIP 11 - More tests onboard