wire up promise