new classes and report bulider. template parser is now iterator