fix critical bug with operator+