started refactoring in order to remove all the singletons and have only 1
fixed rest of refactoring, seems to be working!
fixed unit tests