added some macros & shared examples