public function css_classes($css_classes) {

        // if argument is invalid
        if (!is_array($css_classes) || empty($css_classes) || array_keys($css_classes) != array_filter(array_keys($css_classes), function($value) { return in_array($value, array('list', 'list_item', 'anchor'), true); }))

            // stop execution
            trigger_error('Invalid argument. Method <strong>classes()</strong> accepts as argument an associative array with one or more of the following keys: <em>list, list_item, anchor</em>' , E_USER_ERROR);

        // merge values with the default ones
        $this->_properties['css_classes'] = array_merge($this->_properties['css_classes'], $css_classes);

    }