added definition of traced functor