send returns optionally promise