Implement a gearing class which uses our gearing - needs documentation and testing