Refactoring of core voter class and voter wrapper