sending a callback instead of using Q