ramp interface and basic implementation