Prototype: Refactoring. Get ready for implementing different output formats