Refactored some classes, fixed failed unittest, renamed classes and
completed the first testscenario.