rename add to _add to indicate its volatility