work in progress on arithmetic operations - probably broken at this point