Variable drive mechanism