public function init($options = array())
 {
     $this->cache['options'] = $options;
     /*
      * Setup framework internal functionality
      */
     add_filter('bunyad-active-widgets', array($this, 'filter_widgets'));
     // initialize options and add to cache
     Bunyad::options()->set_config(array_merge(array('meta_prefix' => '_' . strtolower($options['theme_name']), 'theme_prefix' => strtolower($options['theme_name'])), $options))->init();
     if (isset($options['options']) && is_array($options['options'])) {
         Bunyad::options()->set($options['options']);
     }
     // initialize admin
     if (is_admin()) {
         $this->init_admin($options);
     }
     // init menu helper classes
     Bunyad::menus();
     // default to no sidebar
     $this->set_sidebar(Bunyad::options()->default_sidebar);
     // set default style
     $this->add_body_class(Bunyad::options()->layout_style);
     /*
      * Add theme related functionality using the after_setup_theme hook
      */
     add_action('after_setup_theme', array($this, 'setup'), 11);
     return $this;
 }