def add_vt(self, vt_id, name=None, vt_params=None, vt_refs=None,
               custom=None, vt_creation_time=None, vt_modification_time=None,
               vt_dependencies=None, summary=None, impact=None, affected=None,
               insight=None, solution=None, solution_t=None, detection=None,
               qod_t=None, qod_v=None, severities=None):
        if not vt_id:
            return -2
        if self.vt_id_pattern.fullmatch(vt_id) is None:
            return -2
        if vt_id in self.vts:
            return -1
        if name is None:
            name = ''
        self.vts[vt_id] = {'name': name}
        if custom is not None:
            self.vts[vt_id]["custom"] = custom
        if vt_params is not None:
            self.vts[vt_id]["vt_params"] = vt_params
        if vt_refs is not None:
            self.vts[vt_id]["vt_refs"] = vt_refs
        if vt_dependencies is not None:
            self.vts[vt_id]["vt_dependencies"] = vt_dependencies
        if vt_creation_time is not None:
            self.vts[vt_id]["creation_time"] = vt_creation_time
        if vt_modification_time is not None:
            self.vts[vt_id]["modification_time"] = vt_modification_time
        if summary is not None:
            self.vts[vt_id]["summary"] = summary
        if impact is not None:
            self.vts[vt_id]["impact"] = impact
        if affected is not None:
            self.vts[vt_id]["affected"] = affected
        if insight is not None:
            self.vts[vt_id]["insight"] = insight
        if solution is not None:
            self.vts[vt_id]["solution"] = solution
            if solution_t is not None:
                self.vts[vt_id]["solution_type"] = solution_t
        if detection is not None:
            self.vts[vt_id]["detection"] = detection
        if qod_t is not None:
            self.vts[vt_id]["qod_type"] = qod_t
        elif qod_v is not None:
            self.vts[vt_id]["qod"] = qod_v
        if severities is not None:
            self.vts[vt_id]["severities"] = severities
        return len(self.vts)