consolidated some macros for the sake of clarity