v3: implementing for printf