abstract printer added
Merge pull request #3 from vapolyakov/master

Printers refactoring