Added make_promise helper function