refactor test structure
fix bug in new test
crude fix ugly
Merge branch 'refactoringWithInterfacesAndDocumentation'