Added .undefine and fixed macro bug