@xiangli-cmu I think you still need this since you could not receive any responses from clients and then it would just be stuck in a loop (since timeout does a `continue`). There's probably some refactoring that could be done in `collectVotes()` to consolidate the "step down" but this works for now.