fixed bug in __sub__