diff --git a/GUI.oz b/GUI.oz
index 381fd932e649ae670130aecee010853a9472c4f0..90a9858ac6475b7ea0ceb8a9d1bc409c582a4aa8 100644
--- a/GUI.oz
+++ b/GUI.oz
@@ -2,6 +2,7 @@ functor
 import
 	QTk at 'x-oz://system/wp/QTk.ozf'
 	Input
+	System
 export
 	portWindow:StartWindow
 define
@@ -256,22 +257,29 @@ in
 		of nil then skip
 		[] buildWindow|T then NewGrid in 
 			NewGrid = {BuildWindow}
+			{Delay Input.guiDelay}
 			{TreatStream T NewGrid State}
 		[] initPlayer(ID Position)|T then NewState in
 			NewState = {DrawSubmarine Grid ID Position}
+			{Delay Input.guiDelay}
 			{TreatStream T Grid NewState|State}
 		[] movePlayer(ID Position)|T then
+			{Delay Input.guiDelay}
 			{TreatStream T Grid {StateModification Grid ID State {MoveSubmarine Position}}}
 		[] lifeUpdate(ID Life)|T then
+			{Delay Input.guiDelay}
 			{TreatStream T Grid {StateModification Grid ID State {UpdateLife Life}}}
-			{TreatStream T Grid State}
 		[] putMine(ID Position)|T then 
+			{Delay Input.guiDelay}
 			{TreatStream T Grid {StateModification Grid ID State {DrawMine Position}}}
 		[] removeMine(ID Position)|T then
+			{Delay Input.guiDelay}
 			{TreatStream T Grid {StateModification Grid ID State {RemoveMine Position}}}
 		[] surface(ID)|T then
+			{Delay Input.guiDelay}
 			{TreatStream T Grid {StateModification Grid ID State RemovePath}}
 		[] removePlayer(ID)|T then
+			{Delay Input.guiDelay}
 			{TreatStream T Grid {RemovePlayer Grid ID State}}
 		[] explosion(ID Position)|T then
 			{TreatStream T Grid State}
@@ -279,6 +287,8 @@ in
 			{TreatStream T Grid State}
 		[] sonar(ID)|T then
 			{TreatStream T Grid State}
+		[] nil|T then 
+			{TreatStream nil Grid State}
 		[] _|T then
 			{TreatStream T Grid State}
 		end
diff --git a/Main.oz b/Main.oz
index 782f742f72a29b8197209418c2793f5bae9e330c..c503937f4686bfa8efb64abff752c09cffb04d25 100644
--- a/Main.oz
+++ b/Main.oz
@@ -168,21 +168,21 @@ define
     % 5. [else] Broadcast the direction to the radio
     proc {TurnByTurn345 Players CurrentIndex}
         CurrentPlayer={List.nth Players CurrentIndex}
-        ID Pos Direction NewPlayers
         fun{SetNbSurfaceOne Player} player(port:Player.port nbSurface:1) end
+        ID Pos Direction NewPlayers
     in
         {Send CurrentPlayer.port move(ID Pos Direction)}
         case ID#Direction 
         of null#_ then 
-            %% 9.
+            %% Go to step 9.
             {TurnByTurn Players (CurrentIndex mod Input.nbPlayer)+1}
         [] _#surface then 
-            %% 9.
+            %% Go to step 9.
             NewPlayers={ModifyOnlyCurrent Players CurrentPlayer SetNbSurfaceOne}
             {Broadcast NewPlayers saySurface(ID)}       {Send GUI_PORT surface(ID)}
             {TurnByTurn NewPlayers (CurrentIndex mod Input.nbPlayer)+1}
         else
-            %% 6.
+            %% Go to step 6.
             {Broadcast Players sayMove(ID Direction)} 
             {Send GUI_PORT movePlayer(ID Pos)}
             {TurnByTurn6 Players CurrentIndex}
@@ -267,24 +267,27 @@ define
     % 4. [If surface] Restart the game after turnSurface delay
     % 5. [else] Broadcast the direction to the radio
     % 6. Think
-    proc{Simultaneous3456 Player PlayersList}
+    proc {Simultaneous3456 Player PlayersList}
         ID Pos Direction
-        fun{DirectionOnSurface Player} player(port:Player.port nbSurface:1) end
+        fun {DirectionOnSurface Player} player(port:Player.port nbSurface:1) end
     in
         {Send Player.port move(ID Pos Direction)}
         case ID#Direction
         of null#_ then
-            % When player dead , restart the game for him
+            % When Player Dead
+            % Go to 1.
             {Simultaneous Player PlayersList}
         [] _#surface then 
             {Broadcast PlayersList saySurface(ID)}
             {Send GUI_PORT surface(ID)}
-            {Delay Input.turnSurface * 100}
+            {Delay Input.turnSurface * 1000}
+            % Go to 1.
             {Simultaneous Player PlayersList}
         else
             {Broadcast PlayersList sayMove(ID Direction)}
             {Send GUI_PORT movePlayer(ID Pos)}
             {Delay Input.thinkMax * 100}
+            % Go to 7.
             {Simultaneous78 Player PlayersList}
 
         end
@@ -309,7 +312,6 @@ define
 
     % 9. Submarine fire and/or explode an item
     % 10. Think
-
     proc{Simultaneous91011 Player PlayersList}
         ID KindFire
     in
@@ -365,11 +367,10 @@ in
     %% Launch the game 
     if Input.isTurnByTurn then 
         {TurnByTurn PlayersList 1}
-        {System.show '----'}
     else
         {List.forAll PlayersList proc{$ Player} thread {Simultaneous Player PlayersList} end end}
     end
-
     %% Termination 
     {List.forAll PlayersList proc{$ Player} {Send Player.port nil} end }
+    {Send GUI_PORT nil}
 end
diff --git a/Makefile b/Makefile
index 32d61a5a5aec04787724025acb4ee11c2aeb441a..0bd91e0572530490181c5faa5f1c71d8867b43f0 100644
--- a/Makefile
+++ b/Makefile
@@ -3,19 +3,19 @@
 # noma1 : Ingenzi Vany			80461900
 # noma2 : Hirwa Mihigo Olyvia 	02701900
 # ----------------------------
-
-# TODO complete the header with your group number, your noma's and full names
-
-# TODO write your makefile here
 OZFILES=$(wildcard ./*.oz)
 OZEXEC=$(OZFILES:.oz=.ozf)
 
 %.ozf:%.oz
-	@ozc -c $^
+	@ozc -c $^ 1> /dev/null 2>&1
+
+.PHONY: compile
+
+compile: $(OZEXEC)
 
-.PHONY: runMain
+runMain: run clean
 
-runMain: $(OZEXEC)
+run: compile
 	@ozengine ./Main.ozf
 
 clean: 
diff --git a/Player020HiderAndSeeker.oz b/Player020HiderAndSeeker.oz
index 6aae259e70f14840b59e4cf3dae36cc4d78b8a69..8cf73bf725fac348af6c25955d4ff64d784d98d2 100644
--- a/Player020HiderAndSeeker.oz
+++ b/Player020HiderAndSeeker.oz
@@ -2,7 +2,6 @@ functor
 import
     Input 
     OS
-    System
 export
    portPlayer:StartPlayer
 define
@@ -128,7 +127,6 @@ define
             {NewRec {NewRec State chargingItems NewChargingItems} chargedItems AfterCharge.fireItem|State.chargedItems}
         else
             NewChargingItems={List.map State.chargingItems  fun{$ Item} 
-                                                                {System.show Item}
                                                                 if Item.charge==ToCharge.charge andthen {Record.label Item.fireItem}=={Record.label AfterCharge.fireItem} then AfterCharge 
                                                                 else Item end 
                                                             end} 
@@ -323,7 +321,7 @@ define
 
     proc{DeadTreatStream Stream State}
         case Stream 
-        of nil|T then {System.show 'Seeker down'} skip
+        of nil|T then  skip
         [] initPosition(ID Pos)|T then
             ID=null
             {DeadTreatStream T State}
@@ -380,101 +378,70 @@ define
 
     proc{AliveTreatStream Stream State}
         case Stream 
-        of nil|T then {System.show 'Seeker down'} skip
+        of nil|T then skip
         [] initPosition(ID Pos)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#initPosition(ID Pos)}
             NewState={HandleInitPosition State initPosition(ID Pos)}
-            {System.show 'Player'#State.id.id#'replied'#initPosition(ID Pos)}
             {AliveTreatStream T NewState}
         [] move(ID Pos Direction)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#move(ID Pos Direction)}
             NewState={HandleMove State move(ID Pos Direction)}
-            {System.show 'Player'#State.id.id#'replied'#move(ID Pos Direction)}
             {AliveTreatStream T NewState}
-        [] dive|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#dive}
+        [] dive|T then 
             {AliveTreatStream T State}
-        [] saySurface(ID)|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#saySurface(ID)}
+        [] saySurface(ID)|T then 
             {AliveTreatStream T State}
-        [] sayMove(ID Direction)|T then NewState in  %% Ignored
-            {System.show 'Player'#State.id.id#'received'#sayMove(ID Direction)}
+        [] sayMove(ID Direction)|T then NewState in  
             NewState={HandleSayMove State State.enemies sayMove(ID Direction) nil}
-            {System.show 'Player'#State.id.id#'enemies'#NewState.enemies}
             {AliveTreatStream T NewState}
         [] isDead(Answer)|T then 
             Answer=false
             {AliveTreatStream T State}
         [] chargeItem(ID Item)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#chargeItem(ID Item)}
             NewState={HandleChargeItem State chargeItem(ID Item)}
-            {System.show 'Player'#State.id.id#'replied'#chargeItem(ID Item)}
             {AliveTreatStream T NewState}
         [] fireItem(ID KindFire)|T then NewState in 
-            {System.show 'Player'#State.id.id#'received'#fireItem(ID KindFire)}
             NewState={HandleFireItem State fireItem(ID KindFire)}
-            {System.show 'Player'#State.id.id#'replied'#fireItem(ID KindFire)}
             {AliveTreatStream T NewState}
         [] fireMine(ID Mine)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#fireMine(ID Mine)}
             NewState={HandleFireMine State fireMine(ID Mine)}
-            {System.show 'Player'#State.id.id#'replied'#fireMine(ID Mine)}
             {AliveTreatStream T NewState}
         [] sayCharge(ID KindItem)|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#sayCharge(ID KindItem)}
             {AliveTreatStream T State}
         [] sayMinePlaced(ID)|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#sayMinePlaced(ID)}
             {AliveTreatStream T State}
         [] sayMissileExplode(ID Pos Msg)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#sayMissileExplode(ID Pos Msg)}
             NewState={HandleExplosion State ID Pos Msg}
-            {System.show 'Player'#State.id.id#'replied'#sayMissileExplode(ID Pos Msg)}
             if NewState.life > 0 then {AliveTreatStream T NewState}
             else {DeadTreatStream T NewState} end
         [] sayMineExplode(ID Pos Msg)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#sayMineExplode(ID Pos Msg)}
             NewState={HandleExplosion State ID Pos Msg}
-            {System.show 'Player'#State.id.id#'replied'#sayMineExplode(ID Pos Msg)}
             if NewState.life > 0 then {AliveTreatStream T NewState}
             else {DeadTreatStream T NewState} end
         [] sayPassingDrone(drone(row X) ID Answer)|T then 
-            {System.show 'Player'#State.id.id#'received'#sayPassingDrone(drone(row X) ID Answer)}
             ID=State.id
             Answer=State.pos.x==X
-            {System.show 'Player'#State.id.id#'replied'#sayPassingDrone(drone(row X) ID Answer)}
             {AliveTreatStream T State}
         [] sayPassingDrone(drone(column Y) ID Answer)|T then 
-            {System.show 'Player'#State.id.id#'received'#sayPassingDrone(drone(column Y) ID Answer)}
             ID=State.id
             Answer=State.pos.y==Y
-            {System.show 'Player'#State.id.id#'replied'#sayPassingDrone(drone(column Y) ID Answer)}
             {AliveTreatStream T State}
         [] sayAnswerDrone(Drone ID true)|T then 
-            {System.show 'Player'#State.id.id#'received'#sayAnswerDrone(Drone ID true)}
             if ID.id \= State.id.id then NewState in
                 NewState={HandleSayAnswerDrone State State.droneLogs sayAnswerDrone(Drone ID true) nil}
-                {System.show 'Player'#State.id.id#'received'#NewState.droneLogs}
                 {AliveTreatStream T NewState}
             else 
                 {AliveTreatStream T State} end
         [] sayAnswerDrone(Drone ID false)|T then %% Ignore
-            {System.show 'Player'#State.id.id#'received'#sayAnswerDrone(Drone ID false)}
             {AliveTreatStream T State}
         [] sayPassingSonar(ID Resp)|T then 
             ID=State.id Resp=pt(x:State.pos.x y:{Max 0 State.pos.y})
-            {System.show 'Player'#State.id.id#'received'#sayPassingSonar(ID Resp)}
             {AliveTreatStream T State}
         [] sayAnswerSonar(ID Answer)|T then %% Ignore
-            {System.show 'Player'#State.id.id#'received'#sayAnswerSonar(ID Answer)}
             {AliveTreatStream T State}
         [] sayDamageTaken(ID Damage LifeLeft)|T then %% Ignore
-            {System.show 'Player'#State.id.id#'received'#sayDamageTaken(ID Damage LifeLeft)}
             {AliveTreatStream T State}
         [] sayDeath(ID)|T then NewState RemovedDeadEnemy in %% Ignore
             RemovedDeadEnemy={List.filter State.enemies fun{$ Enemy} Enemy.idNum \= ID.id end}
             NewState={NewRec State enemies RemovedDeadEnemy}
-            {System.show 'Player'#State.id.id#'received'#sayDeath(ID)}
             {AliveTreatStream T NewState}
         end
     end
diff --git a/Player020Hunter.oz b/Player020Hunter.oz
index 89a666beea45c5d6d7aa0b9f626ab63dc6d24a4c..421e936298766d714b9cf8e515d5ad94d64b672c 100644
--- a/Player020Hunter.oz
+++ b/Player020Hunter.oz
@@ -2,7 +2,6 @@ functor
 import
     Input 
     OS
-    System
 export
    portPlayer:StartPlayer
 define
@@ -125,7 +124,6 @@ define
             {NewRec {NewRec State chargingItems NewChargingItems} chargedItems AfterCharge.fireItem|State.chargedItems}
         else
             NewChargingItems={List.map State.chargingItems  fun{$ Item} 
-                                                                {System.show Item}
                                                                 if Item.charge==ToCharge.charge andthen {Record.label Item.fireItem}=={Record.label AfterCharge.fireItem} then AfterCharge 
                                                                 else Item end 
                                                             end} 
@@ -256,8 +254,8 @@ define
 
     proc{DeadTreatStream Stream State}
         case Stream 
-        of nil|T then {System.show 'Hunter down'} skip
-        [] initPosition(ID Pos)|T then 
+        of nil|T then  skip
+        [] initPosition(ID Pos)|T then
             ID=null
             {DeadTreatStream T State}
         [] move(ID Pos Direction)|T then 
@@ -313,93 +311,64 @@ define
 
     proc{AliveTreatStream Stream State}
         case Stream 
-        of nil|T then {System.show 'Hunter down'} skip
+        of nil|T then skip
         [] initPosition(ID Pos)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#initPosition(ID Pos)}
             NewState={HandleInitPosition State initPosition(ID Pos)}
-            {System.show 'Player'#State.id.id#'replied'#initPosition(ID Pos)}
             {AliveTreatStream T NewState}
         [] move(ID Pos Direction)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#move(ID Pos Direction)}
             NewState={HandleMove State move(ID Pos Direction)}
-            {System.show 'Player'#State.id.id#'replied'#move(ID Pos Direction)}
             {AliveTreatStream T NewState}
-        [] dive|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#dive}
+        [] dive|T then 
             {AliveTreatStream T State}
-        [] saySurface(ID)|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#saySurface(ID)}
+        [] saySurface(ID)|T then 
             {AliveTreatStream T State}
-        [] sayMove(ID Direction)|T then NewState in  %% Ignored
-            {System.show 'Player'#State.id.id#'received'#sayMove(ID Direction)}
+        [] sayMove(ID Direction)|T then NewState in 
             NewState={HandleSayMove State State.enemies sayMove(ID Direction) nil}
-            {System.show 'Player'#State.id.id#'enemies'#NewState.enemies}
             {AliveTreatStream T NewState}
         [] isDead(Answer)|T then 
             Answer=false
             {AliveTreatStream T State}
         [] chargeItem(ID Item)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#chargeItem(ID Item)}
             NewState={HandleChargeItem State chargeItem(ID Item)}
-            {System.show 'Player'#State.id.id#'replied'#chargeItem(ID Item)}
             {AliveTreatStream T NewState}
         [] fireItem(ID KindFire)|T then NewState in 
-            {System.show 'Player'#State.id.id#'received'#fireItem(ID KindFire)}
             NewState={HandleFireItem State fireItem(ID KindFire)}
-            {System.show 'Player'#State.id.id#'replied'#fireItem(ID KindFire)}
             {AliveTreatStream T NewState}
         [] fireMine(ID Mine)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#fireMine(ID Mine)}
             NewState={HandleFireMine State fireMine(ID Mine)}
-            {System.show 'Player'#State.id.id#'replied'#fireMine(ID Mine)}
             {AliveTreatStream T NewState}
         [] sayCharge(ID KindItem)|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#sayCharge(ID KindItem)}
             {AliveTreatStream T State}
         [] sayMinePlaced(ID)|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#sayMinePlaced(ID)}
             {AliveTreatStream T State}
         [] sayMissileExplode(ID Pos Msg)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#sayMissileExplode(ID Pos Msg)}
             NewState={HandleExplosion State ID Pos Msg}
-            {System.show 'Player'#State.id.id#'replied'#sayMissileExplode(ID Pos Msg)}
             if NewState.life > 0 then {AliveTreatStream T NewState}
             else {DeadTreatStream T NewState} end
         [] sayMineExplode(ID Pos Msg)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#sayMineExplode(ID Pos Msg)}
             NewState={HandleExplosion State ID Pos Msg}
-            {System.show 'Player'#State.id.id#'replied'#sayMineExplode(ID Pos Msg)}
             if NewState.life > 0 then {AliveTreatStream T NewState}
             else {DeadTreatStream T NewState} end
         [] sayPassingDrone(drone(row X) ID Answer)|T then 
-            {System.show 'Player'#State.id.id#'received'#sayPassingDrone(drone(row X) ID Answer)}
             ID=State.id
             Answer=State.pos.x==X
-            {System.show 'Player'#State.id.id#'replied'#sayPassingDrone(drone(row X) ID Answer)}
             {AliveTreatStream T State}
         [] sayPassingDrone(drone(column Y) ID Answer)|T then 
-            {System.show 'Player'#State.id.id#'received'#sayPassingDrone(drone(column Y) ID Answer)}
             ID=State.id
             Answer=State.pos.y==Y
-            {System.show 'Player'#State.id.id#'replied'#sayPassingDrone(drone(column Y) ID Answer)}
             {AliveTreatStream T State}
         [] sayAnswerDrone(Drone ID Answer)|T then %% Ignore
-            {System.show 'Player'#State.id.id#'received'#sayAnswerDrone(Drone ID Answer)}
             {AliveTreatStream T State}
         [] sayPassingSonar(ID Resp)|T then 
             ID=State.id Resp=pt(x:State.pos.x y:{Max 0 State.pos.y})
-            {System.show 'Player'#State.id.id#'received'#sayPassingSonar(ID Resp)}
             {AliveTreatStream T State}
         [] sayAnswerSonar(ID Answer)|T then %% Ignore
-            {System.show 'Player'#State.id.id#'received'#sayAnswerSonar(ID Answer)}
             {AliveTreatStream T State}
         [] sayDamageTaken(ID Damage LifeLeft)|T then %% Ignore
-            {System.show 'Player'#State.id.id#'received'#sayDamageTaken(ID Damage LifeLeft)}
             {AliveTreatStream T State}
         [] sayDeath(ID)|T then NewState RemovedDeadEnemy in %% Ignore
             RemovedDeadEnemy={List.filter State.enemies fun{$ Enemy} Enemy.idNum \= ID.id end}
             NewState={NewRec State enemies RemovedDeadEnemy}
-            {System.show 'Player'#State.id.id#'received'#sayDeath(ID)}
             {AliveTreatStream T NewState}
         end
     end
diff --git a/Player020Random.oz b/Player020Random.oz
index 99482a3602de716e3f83b4b343e9d86ece25bd0d..c534f6a51570c85294f13d4d095d6156043cdca4 100644
--- a/Player020Random.oz
+++ b/Player020Random.oz
@@ -2,7 +2,6 @@ functor
 import
     Input 
     OS
-    System
 export
    portPlayer:StartPlayer
 define
@@ -202,7 +201,7 @@ define
 
     proc{DeadTreatStream Stream State}
         case Stream 
-        of nil|T then {System.show 'Random down'} skip
+        of nil|T then  skip
         [] initPosition(ID Pos)|T then
             ID=null
             {DeadTreatStream T State}
@@ -259,89 +258,61 @@ define
 
     proc{AliveTreatStream Stream State}
         case Stream 
-        of nil then {System.show 'Random down'} skip skip
+        of nil|T then skip
         [] initPosition(ID Pos)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#initPosition(ID Pos)}
             NewState={HandleInitPosition State initPosition(ID Pos)}
-            {System.show 'Player'#State.id.id#'replied'#initPosition(ID Pos)}
             {AliveTreatStream T NewState}
         [] move(ID Pos Direction)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#move(ID Pos Direction)}
             NewState={HandleMove State move(ID Pos Direction)}
-            {System.show 'Player'#State.id.id#'replied'#move(ID Pos Direction)}
             {AliveTreatStream T NewState}
-        [] dive|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#dive}
+        [] dive|T then 
             {AliveTreatStream T State}
         [] saySurface(ID)|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#saySurface(ID)}
             {AliveTreatStream T State}
         [] sayMove(ID Direct)|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#sayMove(ID Direct)}
             {AliveTreatStream T State}
         [] isDead(Answer)|T then 
             Answer=false
             {AliveTreatStream T State}
         [] chargeItem(ID Item)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#chargeItem(ID Item)}
             NewState={HandleChargeItem State chargeItem(ID Item)}
-            {System.show 'Player'#State.id.id#'replied'#chargeItem(ID Item)}
             {AliveTreatStream T NewState}
         [] fireItem(ID KindFire)|T then NewState in 
-            {System.show 'Player'#State.id.id#'received'#fireItem(ID KindFire)}
             NewState={HandleFireItem State fireItem(ID KindFire)}
-            {System.show 'Player'#State.id.id#'replied'#fireItem(ID KindFire)}
             {AliveTreatStream T NewState}
         [] fireMine(ID Mine)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#fireMine(ID Mine)}
             NewState={HandleFireMine State fireMine(ID Mine)}
-            {System.show 'Player'#State.id.id#'replied'#fireMine(ID Mine)}
             {AliveTreatStream T NewState}
         [] sayCharge(ID KindItem)|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#sayCharge(ID KindItem)}
             {AliveTreatStream T State}
         [] sayMinePlaced(ID)|T then %% Ignored
-            {System.show 'Player'#State.id.id#'received'#sayMinePlaced(ID)}
             {AliveTreatStream T State}
         [] sayMissileExplode(ID Pos Msg)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#sayMissileExplode(ID Pos Msg)}
             NewState={HandleExplosion State ID Pos Msg}
-            {System.show 'Player'#State.id.id#'replied'#sayMissileExplode(ID Pos Msg)}
             if NewState.life > 0 then {AliveTreatStream T NewState}
             else {DeadTreatStream T NewState} end
         [] sayMineExplode(ID Pos Msg)|T then NewState in
-            {System.show 'Player'#State.id.id#'received'#sayMineExplode(ID Pos Msg)}
             NewState={HandleExplosion State ID Pos Msg}
-            {System.show 'Player'#State.id.id#'replied'#sayMineExplode(ID Pos Msg)}
             if NewState.life > 0 then {AliveTreatStream T NewState}
             else {DeadTreatStream T NewState} end
         [] sayPassingDrone(drone(row X) ID Answer)|T then 
-            {System.show 'Player'#State.id.id#'received'#sayPassingDrone(drone(row X) ID Answer)}
             ID=State.id
             Answer=State.pos.x==X
-            {System.show 'Player'#State.id.id#'replied'#sayPassingDrone(drone(row X) ID Answer)}
             {AliveTreatStream T State}
         [] sayPassingDrone(drone(column Y) ID Answer)|T then 
-            {System.show 'Player'#State.id.id#'received'#sayPassingDrone(drone(column Y) ID Answer)}
             ID=State.id
             Answer=State.pos.y==Y
-            {System.show 'Player'#State.id.id#'replied'#sayPassingDrone(drone(column Y) ID Answer)}
             {AliveTreatStream T State}
         [] sayAnswerDrone(Drone ID Answer)|T then %% Ignore
-            {System.show 'Player'#State.id.id#'received'#sayAnswerDrone(Drone ID Answer)}
             {AliveTreatStream T State}
         [] sayPassingSonar(ID Resp)|T then 
             ID=State.id Resp=pt(x:State.pos.x y:{Max 0 State.pos.y})
-            {System.show 'Player'#State.id.id#'received'#sayPassingSonar(ID Resp)}
             {AliveTreatStream T State}
         [] sayAnswerSonar(ID Answer)|T then %% Ignore
-            {System.show 'Player'#State.id.id#'received'#sayAnswerSonar(ID Answer)}
             {AliveTreatStream T State}
         [] sayDamageTaken(ID Damage LifeLeft)|T then %% Ignore
-            {System.show 'Player'#State.id.id#'received'#sayDamageTaken(ID Damage LifeLeft)}
             {AliveTreatStream T State}
         [] sayDeath(ID)|T then %% Ignore
-            {System.show 'Player'#State.id.id#'received'#sayDeath(ID)}
             {AliveTreatStream T State}
         end
     end
@@ -352,6 +323,7 @@ define
     in
         {NewPort Stream Port}
         thread
+            {AliveTreatStream Stream '#'(   id:id(id:ID color:Color name:player020hunter)
                                             life:Input.maxDamage
                                             pos:pt(x:0 y:0)
                                             chargingItems:[ {GetNewChargeFireItem mine} {GetNewChargeFireItem missile}