Add Spyfunctor (not completed)