prefer the functionish print