public function add($key, $names, $val)
    {
        if (is_array($names)) {
            $array_piece = &$this->config[$key];
            foreach ($names as $name_key) {
                $array_piece = &$array_piece[$name_key];
            }

            return $array_piece = $val;
        } else {
            return $this->config[$key][$names] = $val;
        }
    }