add mac function