code moved to separate assemblies