general language classes renaming
refactoring final stage: extracting different printers