Added new type of macroses. Current code is NOT workable!