tutorial section 3.3 finished - tdd + refactoring + a bit of dynamic content