made macros more independent