private boolean createTable() {
		Connection conn = null;
        Statement s = null;
		ResultSet rs = null;
        try {
        	conn = getConnection();
        	s = conn.createStatement();
        	s.executeUpdate(sqlMakeTable);

			try {
				// make sure `uuid` column exists, otherwise table is outdated and needs to be dropped and made again
	        	rs = s.executeQuery(sqlCheckTableUUID);
	        	if (!rs.first())
				{
					log.info(name + ": Table outdated and missing UUID column, dropping and recreating");
		        	s.executeUpdate(sqlDropTable);
		        	s.executeUpdate(sqlMakeTable);
				}
				rs.close();
        	} catch (SQLException ex2){}
        	rs = s.executeQuery(sqlCheckTableExist);
        	if (rs.first()) {
				rs.close();
				s.close();
				conn.close();
        		return true;
        	}
        } catch (SQLException ex) {
        	log.severe(name + ": " + ex.getMessage());
        } finally {
            try {
				if (rs != null)
					rs.close();
                if (s != null)
                    s.close();
                if (conn != null)
                    conn.close();
            } catch (SQLException ex) {
            	log.severe(name + ": " + ex.getMessage());
            }
        }
        return false;
	}