refactor spur gear into own function