rewrote addition in terms of basic operations