add !define and part of !defineud