adding defn macro