tidy voting logic