defmacro added
conditional