promise based data collection engine