public DataConnectionPool(int poolsize, String driver, String db, String uname, String pw) throws SQLException
	{
		this.dataBase = db;
		this.userName = uname;
		this.password = pw;
		this.pool = new ArrayList<ConnectionWrapper>();

		if (driver != null)
		{
			try
			{
				// this is here for compatibility with drivers that are not JDBC
				// 4.0 compliant or better.
				Class.forName(driver).newInstance();
			}
			catch (InstantiationException | IllegalAccessException | ClassNotFoundException e1)
			{
				//re-throw
				throw new SQLException(e1);
			}
		}

		// set up the connections
		for (int x = 0; x < poolsize; x++)
		{
			if ((this.dataBase == null) )
			{
				throw new SQLException("Connection string must be given.");
			}
			else
			{
				try
				{
					pool.add(new ConnectionWrapper(DriverManager.getConnection(this.dataBase, this.userName, this.password)));
				}
				catch (Exception e)
				{
					//re-throw
					throw new SQLException(e);
				}
			}

		}
	}