outlined further ramp C functions