Much better code, to implement subtraction