Fix valgrind errors
Implement optimised addition
Change += to be implemented in terms of +
Implement - friend operator