My unittest succeeds
Some refactoring and extending