changed to "simple" macros and added parantheses