core module introduced
refactoring: moving core parts to core, deleting duplicates