implemented subtract. need to finalize