public function render($mainName = 'default', $barName = false, array $data = null)
    {
        // set the default value if nothing was passed
        if ($data === null) {
            $data = ['title' => 'Navigation', 'side' => 'dropdown', 'inverse' => true];
        }

        // get the nav bar arrays
        $main = $this->getMain($mainName);
        if (is_string($barName)) {
            $bar = $this->getBar($barName);
            if (empty($bar)) {
                $bar = false;
            }
        } else {
            $bar = false;
        }

        // return the html nav bar
        return $this->view->make($this->name, array_merge($data, ['main' => $main, 'bar' => $bar]))->render();
    }