public static boolean setupTables() throws SQLException {
		boolean retVal = false;
		
		if(!(dbm.isTable("titles") || dbm.isTable("players"))) {
			try {
				dbm.query("CREATE TABLE IF NOT EXISTS titles (titleid VARCHAR(20) PRIMARY KEY, titlename VARCHAR(20));");
				dbm.query("CREATE TABLE IF NOT EXISTS players (playerid Integer PRIMARY KEY AUTO_INCREMENT, playername VARCHAR(20), titleid VARCHAR(20));");
				
				dbm.query("ALTER TABLE players ADD CONSTRAINT FK_TITLES_ID FOREIGN KEY (titleid) REFERENCES titles(titleid);");
				
				retVal = true;
			} catch (SQLException ex) {
				dbm.writeError("Error creating tables for DonorTitles database.\n" + ex.getMessage(), true);
				ex.printStackTrace();
				
				try {
					if (dbm.isTable("titles")) {
						dbm.query("DROP TABLE titles;");
					}
					if (dbm.isTable("players")) {
						dbm.query("DROP TABLE players;");
					}
				} catch (SQLException exs) {
					throw new SQLException ("Error dropping tables.", exs);
				}
			}
		}
		
		return retVal;
	}