public int CreateVaultUserBatch(List<VaultUser> users) 
	{
		int recAdded = 0;
		String retval =  null;
		Connection con =  null;
		
		java.sql.PreparedStatement psVaultUser =  null;
		java.sql.PreparedStatement psLoginData =  null;
		String psVaultUserSql = "INSERT OR IGNORE INTO USERS (" +
				"UserID,"+
				"Email,"+
				"ForeName,"+
				"LastName,"+
				"Password,"+
				"DOB,"+
				"CCNumber,"+
				"CCExpiresMonth," +
				"CCExpiresYear," +
				"CCVNum," +
				"CCVendor,"+
				"BillingAddress1,"+
				"BillingAddress2,"+
				"Town,"+
				"County,"+
				"PostCode,"+
				"Country,"+
				"MobileNumber,"+
				"Consent," +
				"RegistrationDate)" +
				"Values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
		
		String psAddLoginDataSql = "INSERT OR IGNORE INTO LoginData (" +
				"UserID," +
				"LoginSuccess," +
				"LoginAttempts ) " +
				"Values (?,?,?)";
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		SimpleDateFormat fmt =  new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		try {
			Class.forName("org.sqlite.JDBC");
			try {
				con = DriverManager.getConnection(VxConnectionString);
				con.setAutoCommit(false);
				
				psVaultUser =  con.prepareStatement(psVaultUserSql);
				psLoginData = con.prepareStatement(psAddLoginDataSql);
				for(VaultUser vaultUser : users)
				{
					psVaultUser.setString(1,vaultUser.getUserID());
					psVaultUser.setString(2,vaultUser.geteMail());
					psVaultUser.setString(3,vaultUser.getForeName());
					psVaultUser.setString(4,vaultUser.getLastName());
					psVaultUser.setString(5,vaultUser.getPassword());
					psVaultUser.setString(6,format.format(vaultUser.getDob()));
					psVaultUser.setString(7,vaultUser.getCreditCardNumber());
					psVaultUser.setInt(8,Integer.valueOf(vaultUser.getCcExpiresMonth()));
					psVaultUser.setInt(9,Integer.valueOf(vaultUser.getCcExpiresYear()));
					psVaultUser.setInt(10,Integer.valueOf(vaultUser.getCCVNumber()));
					psVaultUser.setString(11,vaultUser.getCcProvider());
					psVaultUser.setString(12,vaultUser.getAddress1());
					psVaultUser.setString(13,vaultUser.getAddress2());
					psVaultUser.setString(14,vaultUser.getTown());
					psVaultUser.setString(15,vaultUser.getCounty());
					psVaultUser.setString(16,vaultUser.getPostCode());
					psVaultUser.setString(17,vaultUser.getCountry());
					psVaultUser.setString(18,vaultUser.getMobileNumber());
					psVaultUser.setBoolean(19,vaultUser.isConsent());
					psVaultUser.setObject(20,fmt.format(vaultUser.getRegistrationDate()));
					psVaultUser.addBatch();
					

					psLoginData.setString(1,vaultUser.getUserID());
					psLoginData.setBoolean(2,true);
					psLoginData.setInt(3,0);
					psLoginData.addBatch();
				}
				
				int [] usersAdded = psVaultUser.executeBatch();
				int[] loginsAdded = psLoginData.executeBatch();
				for(int i= 0; i < usersAdded.length ; i++)
					if(usersAdded[i] == 1)
						recAdded++;
				con.commit();
				
			}
			catch (SQLException sqlExc)
			{

				try {
					con.rollback();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			finally
			{
				try {
					con.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
		}
		catch (ClassNotFoundException e)
		{
			e.printStackTrace();
		}
		
		return recAdded;
	}