added threadable functor.