Reworking tests 2
Massive refactor