closed loop contract