added some more useful macros