add macro(not competed)