basic vote model complete