WARNING: SPOILERS AHEAD...