Added a projection functor. Not tested yet.