private function registerAliases()
    {

        // register this container to facades
        Facade::setApplication($this);

        $aliases = [

            'app'        => ['Anonym\Application\Application', Container::class],
            'redirect'   => ['Anonym\Http\Redirect'],
            'validation' => ['Anonym\Support\Validation'],
            'route'      => ['Anonym\Route\RouteCollector'],
            'event'      => ['Anonym\Event\EventDispatcher'],
            'cookie'     => ['Anonym\Cookie\CookieInterface'],
            'session'    => ['Anonym\Session\StrogeInterface'],
            'config'     => ['Anonym\Config\Reposity'],
            'crypt'      => ['Anonym\Crypt\Crypter'],
            'view'       => ['Anonym\View\View']
        ];


        // register aliases
        foreach ($aliases as $key => $alias) {

            foreach ((array)$alias as $abstract) {
                $this->alias($abstract, $key);
            }
        }

        // register the alias loader
        $this->setAliasLoader(new AliasLoader(Arr::get($this->getGeneral(), 'alias')));
        $this->getAliasLoader()->register();
    }