added define
added primitive function
added cond