changed revoke to hopefully work, it's untested