make prevent default a macro