public function reset($fields = null)
    {
        if (!$fields) {
            $fields = array_merge(array_values(self::$fieldmap), array_keys($this->immap),
                array('FN','N','ORG','NICKNAME','EMAIL','ADR','BDAY'));
        }

        foreach ($fields as $f) {
            unset($this->raw[$f]);
        }

        if (!$this->raw['N']) {
            $this->raw['N'] = array(array('','','','',''));
        }
        if (!$this->raw['FN']) {
            $this->raw['FN'] = array();
        }

        $this->email = array();
    }