use printf instead of cat