some refactoring was done, added tests for the framework itself