move exec_permission() up to the rest of permission-related functions