fixed voting, and added vote updating