Lots of refactoring, first test ready
Lots of refactoring, first test ready