need fix logic of + / -