let goButton = (Button.create ~text:"Next step >" ~width:10
                 ~state:`Disabled
        ~command:(fun () -> 
                        let action = if((!next_story)<>[]) then car !next_story else "" in
                        let other_action = if(!intruder_mode && (not(containStr "->" action))) then decompose action else [] in
                        if(other_action<>[] && ((!next_story)<>[])) then(
                                if((car other_action)="add_in_set"then add_in_set (cadr other_action) (caddr other_action) (caddr (cdr other_action)) (caddr (cddr other_action));
                                next_story := (cdr !next_story);
                                trace_story := action::(!trace_story);
                                if(!intruder_mode && containStr "(Intruder_, 0)" action) 
                                then (update_intruder_knowledge() ; display_intruder_knowledge();)
                        )
                        else if ((!next_story)<>[]) then(
                                next_story := (cdr !next_story);
                                trace_story := action::(!trace_story);
                                let (sender, reciever, message_arg) = actionTreatment action in
                                let message = decompose message_arg in
                                add_in_automate_story ();
                                add_in_variable_story ();
                                next_message_stack ();
                                next_id_refresh_story ();
                                state_refresh sender (cadr message) reciever (caddr message);
                                add_tag_number ();
                                clear_message_story ();
                                if(!intruder_mode) then display_intruder_knowledge();
                                let message_sender = replace "_new" "" (transcript_sender (cadr message)) in
                                let message_receiver = replace "_new" "" (transcript_receiver (caddr message)) in
                                let message_real = transcript_to_real sender (cadr message) in
                                Listbox.insert story ~index:`End ~texts:[sender^" -> "^reciever^" : "^message_sender];
                                draw_action sender reciever red message_sender message_real message_receiver black (emission lst sender message_sender) green;
                                insert_lst sender reciever;
                                )
) buttonFrame : Widget.button Widget.widget)