Batch promises wait for orders

This now uses chained promises, and infers the orders role from the filter results