add operational function