public static Tuple createAccount(String username, char[] chPassword, Connection cnxn) {	
		ResultSet rs = null;
		Statement stmnt = null;
			
		//verify the username fits the requested pattern before trying to create the user	
		if (validateUsername(username)) {
			//TODO: storedproc to check username avail
			//see if we already have a tuple with this username in the db
			try {
				stmnt = cnxn.createStatement();
				String query = "SELECT id FROM Users WHERE name = '" + username + "'";
				rs = stmnt.executeQuery(query);
			} catch (SQLException e) {
				//problem checking if we already have this username
				return new Tuple(false, e.getMessage());
			}
			
			try {				
				//if resultset has at least one row, the username has already been created
				if (rs.next()) {
					return new Tuple(false, username + " is already taken. Please try another.");
				} else {
					//continue
				}
			} catch (SQLException e) {
				//problem with getting first result from resultset
				return new Tuple(false, e.getMessage());
			}
		} else {
			//username doesnt fit basic requirements
			return new Tuple(false, "The requested username does not meet the requirements. It must be at least five characters and may only contain alphanumeric characters or underscores");
		}
		
		
		//see if password meets requirements
		if (String.valueOf(chPassword).indexOf(" ") > -1) {
			return new Tuple(false, "Your password may not contain spaces.");
		} else if (chPassword.length < 8) {
			return new Tuple(false, "Your password must be at least 8 characters.");
		} else {
			//create hash of password/salt
			Password pass = Password.crtePassword(chPassword);
			
			//get hash/salt values to store
			String hash = pass.getHash();
			long salt = pass.getSalt();
			
			//TODO: write stored proc to insert user
			try {
				stmnt = cnxn.createStatement();
				
				//put the user in the db
				String query = "INSERT INTO Users(name, password, salt) Values ('"+ username + "', '" + pass.getHash() + "','" + salt + "')"; 
				stmnt.execute(query);
				
				return new Tuple(true, null);
				
			} catch (SQLException e) {
				return new Tuple(false, e.getMessage());
			}
		}
	}