I should have also mentioned sprint training. You usually can't win without winning the sprint. The traditional sprint workout is to do 30 second near maximal sprints with 5 minutes between sprints. Do a set of 6. Two other things: in your biggest gear, slow down to 10 mph or less, then accelerate all out until you are spinning, but not a full sprint. Focus on maximum pedal pressure. Recover well. Repeat 12 times. The other thing is weights, barbell squats in particular.