added an applicable functor type