### Database Schema:
CREATE TABLE director (
	name	TEXT	NULL	PRIMARY KEY,
	director	TEXT	NULL,
	foreign key (name) references characters (movie_title)
);

CREATE TABLE characters (
	movie_title	TEXT	NULL	PRIMARY KEY,
	release_date	TEXT	NULL,
	hero	TEXT	NULL,
	villian	TEXT	NULL,
	song	TEXT	NULL,
	foreign key (hero) references `voice-actors` (character)
);

CREATE TABLE revenue (
	Year	INTEGER	NULL	PRIMARY KEY,
	`Studio Entertainment[NI 1]`	REAL	NULL,
	`Disney Consumer Products[NI 2]`	REAL	NULL,
	`Disney Interactive[NI 3][Rev 1]`	INTEGER	NULL,
	`Walt Disney Parks and Resorts`	REAL	NULL,
	`Disney Media Networks`	TEXT	NULL,
	Total	INTEGER	NULL
);

CREATE TABLE `voice-actors` (
	character	TEXT	NULL	PRIMARY KEY,
	`voice-actor`	TEXT	NULL,
	movie	TEXT	NULL,
	foreign key (movie) references characters (movie_title)
);

CREATE TABLE movies_total_gross (
	movie_title	TEXT	NULL	PRIMARY KEY,
	release_date	TEXT	NULL	PRIMARY KEY,
	genre	TEXT	NULL,
	MPAA_rating	TEXT	NULL,
	total_gross	TEXT	NULL,
	inflation_adjusted_gross	TEXT	NULL,
	foreign key (movie_title) references characters (movie_title)
);

### User's Query:
Who directed the most popular movie?

### Extra Knowledge:
The most popular movie refers MAX(total_gross); who directed refers to director;
SELECT T2.director FROM movies_total_gross AS T1 INNER JOIN director AS T2 ON T1.movie_title = T2.name ORDER BY CAST(REPLACE(trim(T1.total_gross, '$'), ',', '') AS REAL) DESC LIMIT 1