Refactoring Vote API