Theory of voting