contract bottleneck