Added vote() method and tests