let add_entry         (intruder_name : string) (intruder_state : string) 
                 (agent_name : string) (label : string) 
                (e : Widget.entry Widget.widget) (l_rec : string Pervasives.ref) 
                (lst : Widget.listbox Widget.widget) (l0: string list) : unit=
          let rec aux l =
                match l with [] -> l_entry:= ((label,ref "",ref [e,l_rec,lst],l0)::(!l_entry))
                        |(lab,value,entries,_)::ls ->         (if(lab=label)
                                                        then        entries:=((e,l_rec,lst)::(!entries));
                                                        aux ls);
        in aux (!l_entry);
        List.iter
        (fun (label,value,_,_) -> 
                if((!value)<>"")
                then update_entry intruder_name intruder_state agent_name label (!value)
        )
        (!l_entry);
        List.iter
        (fun (label,value,_,_) -> 
                if((!value)="")
                then update_entry intruder_name intruder_state agent_name label (!value)
        )
        (!l_entry);