move GNU cat logic out of printer class to make it more modular fix ^` not printing