use ++ and -- instead of + and - to prevent overloading errors