Restructuring: Added core directory to separate core from derived functionalities