implement public and private votings