let previous_add_stack (() : unit) : unit = match (!add_stack_story) with [] -> ()
                                                         |(x::ls) ->         (List.iter
                                                                        (fun (name_in_session,message) -> (
                                                                                let message_list = Hashtbl.find_all message_stack name_in_session
                                                                                in
                                                                                let rec aux l buff =
                                                                                        match l with [] -> (List.iter (fun t -> (Hashtbl.add message_stack name_in_session t)) buff)
                                                                                                        |(x::ls) -> (        Hashtbl.remove message_stack name_in_session;
                                                                                                                if (x=message)
                                                                                                                then(aux ls buff)
                                                                                                                else(aux ls (x::buff)));
                                                                                in
                                                                                aux message_list [];                                                        
                                                                        )) (!add_on_stack);
                                                                        add_on_stack:=x;
                                                                        add_stack_story:=ls)