public function get($id, $default = null)
    {
        if (strpos($id, '.') !== false) {
            $k = '$this->data' . "['" . str_replace('.', "']['", $id) . "']";
            eval('$has = isset(' . $k . ');');
            if ($has) {
                eval('$value = ' . $k . ';');
                return $value;
            } else {
                return $default;
            }
        } else {
            return $this->has($id) ? $this->data[$id] : $default;
        }
    }