pull pretty-printing into its own class