voting functionality complete