Add ConditionalGear and test it