done bdd-like refactoring. time for new printer tests.