add variable argument support for + and -