update 'printer' to use 'operator()' instead of 'process'
improve printing