Refactored some more, now all based on assemblies