functor.cpp is added.