Loads of changes, cleanups, improvements etc.