First stab at functor.