Vote Refactor