added voting functionality without vote once constraint