Separation of the core module
TODOs