enhanced testing
overrode add and substract methods so class cast will no longer be necessary