public void run() throws IOException, NoSuchAlgorithmException, InvalidPvidException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, InvalidKeyException
	{
		try{
			
		//Displaying choices that the voter has
		Voter.displayMainMenu();
		System.out.println("Please enter your choice");
		
		int choice = Integer.parseInt(reader.readLine());
		
	switch(choice) {
	
	case 1 ://generate PVID
		System.out.println("Generate PVID option selected");
		System.out.println("Enter your email ID ");
		String email_id = reader.readLine();
		System.out.println("Enter your pin/passkey");
		String pin = reader.readLine();
		
		String PVID = pvidGenerator.generatePVID(email_id, pin);
		System.out.println("Your PVID for the voting process is : " + PVID);
		break;
		
	case 2 ://Vote
		System.out.println("VOTE option selected");
		System.out.println("Enter your PVID");
		String PVID1 = reader.readLine(); 
		List<String> ballot=ballotGenerator.requestBallot(PVID1);
		this.displayBallot(ballot);
		System.out.println("Enter your Vote");
		int vote= Integer.parseInt(reader.readLine());
		collector.recordVote(PVID1,encryptVote(keyGenerator.generateKey(PVID1),vote));
		break;
		
	case 3 ://Verify
		System.out.println("Verify option selected");
		System.out.println("Enter PVID");
		String PVID11 = reader.readLine();
		if(!collectorBullettinBoard.containsPVID(PVID11))
			System.out.println("You have not voted");
		else
		{	
			
			System.out.println("Enter Your Vote");
			int voteToVerify=Integer.parseInt(reader.readLine());
			
			if(collectorBullettinBoard.verify(PVID11, Essentials.hashOf(encryptVote(keyGenerator.getKey(PVID11),voteToVerify))))
				System.out.println("Your Vote has been recorded correctly");
			else
				System.out.println("Your Vote is not recorded correctly");
		}
		break;
	default : //Invalid input
		System.out.println("Invalid Input");
	}
	
	} catch (IllegalArgumentException ex) {
		ex.printStackTrace();
	
	} catch (InvalidPinException ex) {
		System.out.println("The PIN you entered is invalid");
	}
	

}