added add and subtract