declaring abort as a macro