added modification functions instead of only allowing simple addition