add functors for basic operators