add TODO
fix Promise.race by using streams