server: use promise.spread