added throughput constraints