I've split the script into several files.