Day of coworking with many modifications - working commit
Modifications and refactoring in support of tests