make gears a little more programmatic