implement subtract