Cleanups and splitting into a few assemblies for organization