protected function loadSettings(string $settings_filepath): Core
    {
        if (file_exists($settings_filepath) === false) {

            throw new SettingsNotFoundException();

        }

        $settings = require($settings_filepath);
        if (is_array($settings) === false) {

            throw new InvalidSettingsException();

        }

        $this->container->set("settings", $this->ensureDefaultSettings($settings));
        return $this;
    }