begin replace bounded Ci function