Added functor capability