Major cleanups and allow reloading \o/