should this be a DS.PromiseArray ?