works on ADD and AND