add permission check permission contrib better