make data a promise