defined normal functor