add functionally