added ramp generation