motivation behind pr_xxx macros