separate vote route from vote game logic