various macro examples