VERY long update:
Spoiler!