extended addSub