finish add_permission() function