diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NetworkContainerActor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NetworkContainerActor.scala
new file mode 100644
index 0000000000000000000000000000000000000000..ba0ee07744458c794711451ba825055a20def96c
--- /dev/null
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NetworkContainerActor.scala
@@ -0,0 +1,22 @@
+package fr.univ_lille.cristal.emeraude.n2s3.core.actors
+
+import fr.univ_lille.cristal.emeraude.n2s3.core.NetworkContainer
+import fr.univ_lille.cristal.emeraude.n2s3.support.actors.{ActorCompanion, SinglePropsBuilder}
+
+/**
+  * Actor companion of [[NetworkContainerActor]].
+  * It defines a way to create new [[NetworkContainerActor]] instances
+  */
+object NetworkContainerActor extends ActorCompanion{
+
+  /**
+    * Returns a props builder for a [[NetworkContainerActor]]
+    */
+  def newPropsBuilder() = new SinglePropsBuilder[NetworkContainerActor]()
+}
+
+
+/**
+  * NetworkEntityActor that contains a NetworkContainer as NetworkEntity
+  */
+class NetworkContainerActor extends NetworkEntityActor(new NetworkContainer)
\ No newline at end of file
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NetworkEntityActor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NetworkEntityActor.scala
index ecc8a55c9c4532763ec1b8ab4df62c5a9c6c7ee3..b3cd7e156e85f416aebf7ddf359605b59c30ec8c 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NetworkEntityActor.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NetworkEntityActor.scala
@@ -6,17 +6,18 @@ package fr.univ_lille.cristal.emeraude.n2s3.core.actors
 
 import akka.actor.{Actor, Props}
 import fr.univ_lille.cristal.emeraude.n2s3.core._
-import fr.univ_lille.cristal.emeraude.n2s3.core.actors.NetworkEntityActor.{ExplicitSenderRoutedMessage, ImplicitSenderRoutedMessage}
+import fr.univ_lille.cristal.emeraude.n2s3.core.actors.NetworkEntityActor.{CheckMailbox, ExplicitSenderRoutedMessage, ImplicitSenderRoutedMessage}
 import fr.univ_lille.cristal.emeraude.n2s3.core.exceptions.{UnknownDestinationException, UnknownPathException}
-import fr.univ_lille.cristal.emeraude.n2s3.support.actors
-import fr.univ_lille.cristal.emeraude.n2s3.support.actors.{ActorCompanion, Message, PropsBuilder, SinglePropsBuilder}
+import fr.univ_lille.cristal.emeraude.n2s3.support
+import fr.univ_lille.cristal.emeraude.n2s3.support.actors.{Message, PropsBuilder}
 
 import scala.collection.mutable
 
 /**
-  *  Companion object of NetworkContainerActor
+  *  Companion object of [[NetworkEntityActor]].
+  *  Includes common messages used by [[NetworkEntityActor]] and a builder to instantiate actors.
   */
-object NetworkEntityActor extends actors.ActorCompanion {
+object NetworkEntityActor extends support.actors.ActorCompanion {
 
   /**
     * Message used to add a child to the target NetworkContainer.
@@ -48,49 +49,19 @@ object NetworkEntityActor extends actors.ActorCompanion {
   case class SynchronizedRoutedMessage(to: Traversable[Any], message: Message, sender : NetworkEntityPath)
 
   /**
-    * Create the PropsBuilder of NetworkEntityActor class
-    *
-    * @return new PropsBuilder
+    * Message used when the limits of local messages processed is reached.
+    * This one alone to resume immediately the messageQueue processing in case of there's no incoming messages
     */
-  def newPropsBuilder() = new NetworkEntityActorPropsBuilder
-}
-
-
-/**
-  * Abstract representation of an actor that contains a NetworkEntity
-  * This actor is used to make the interface between the NetworkEntity (e.g. neurons, neuron containers)  it contains and the external system
-  *
-  * It may receive messages that it will treat itself or messages it will forward to it's children entities
-  * The latter handle two kind of messages :
-  *   - ExplicitSenderRoutedMessage includes the actor where the response should be sent
-  *   - ImplicitSenderRoutedMessage will send the message's response to de implicit sender set by Akka
-  *
-  * Other messages are processed by the actor itself
-  *
-  * This class keeps a queue of messages that are not yet processed.
-  *
-  * Each message generated by a local NetworkEntity is added to this queue in order to let the current entity
-  * finish processing before starting the following. However, in the case of local ask pattern, the message is instantly processed
-  * and the response can be returned immediately.
-  *
-  * Local ask should be avoided if possible
-  * In case of mutual local ask, the actor will be in state of deadlock
-  *
-  * For examples of usages, see @NetworkContainer
-  */
+  private object CheckMailbox
 
-object NetworkContainerActor extends ActorCompanion{
-  def newPropsBuilder() = new SinglePropsBuilder[NetworkContainerActor]()
+  /**
+    * Returns a PropsBuilder for a [[NetworkEntityActor]]
+    */
+  def newPropsBuilder() = new NetworkEntityActorPropsBuilder
 }
 
 /**
-  * mixin of NetworkContainer with NetworkEntityActor
-  */
-class NetworkContainerActor extends NetworkEntityActor(new NetworkContainer)
-
-/**
-  * Specialization of PropsBuilder used to construct NetworkEntityActor.
-  * This class allow to set the root entity
+  * Specialized PropsBuilder used to construct a NetworkEntityActor.
   */
 class NetworkEntityActorPropsBuilder extends PropsBuilder {
   private var entity: NetworkEntity = _
@@ -104,28 +75,32 @@ class NetworkEntityActorPropsBuilder extends PropsBuilder {
 }
 
 /**
-  * specialization of NetworkEntityActor used to provide the root ReferenceableNetworkEntity in constructor parameter instead of specify it in mixin
-  * This class is responsible for making the bridge between the actor and the content entity
+  * Actor to interact with a network entity (e.g. neurons, neuron containers)
+  * Receives messages that it may treat itself or forward to it's children entities
+  * The latter handle two kind of messages :
+  *   - [[ExplicitSenderRoutedMessage]] includes the actor where the response should be sent
+  *   - [[ImplicitSenderRoutedMessage]] will send the message's response to de implicit sender set by Akka
+  *
+  * Other messages are processed by the actor itself.
   *
-  * @param entity is the root ReferenceableNetworkEntity of the actor
+  * This class keeps a queue of messages that are not yet processed.
+  *
+  * Each message generated by a local NetworkEntity is added to this queue in order to let the current entity
+  * finish processing before starting the following. However, in the case of local ask pattern, the message is instantly processed
+  * and the response can be returned immediately.
+  *
+  * Local ask should be avoided if possible
+  * In case of mutual local ask, the actor will be in state of deadlock
+  *
+  * For examples of usages, see [[NetworkContainer]]
+  * @param entity is the root Networkentity contained by the actor
   */
 class NetworkEntityActor(val entity : NetworkEntity) extends Actor  {
 
-  override def preRestart(reason: Throwable, message: Option[Any]): Unit = {
-    println("[DEBUG] Restart Actor "+self+" : "+reason+(if(message.isDefined) " | "+message.get else ""))
-    super.preRestart(reason, message)
-  }
-
   entity.container = this
-//  entity.setParent(this, this)
-
-  def resolvePath(target : Traversable[Any]) : NetworkEntity = {
-    entity.resolvePath(target)
-  }
 
   /**
     * Queue which contains next message to process
-    *
     * Each message are accompanied by the target NetworkEntity and the sender NetworkEntityReference
     */
   private val messageQueue = mutable.Queue[(Message, NetworkEntity, NetworkEntityReference)]()
@@ -135,11 +110,14 @@ class NetworkEntityActor(val entity : NetworkEntity) extends Actor  {
     */
   private val maxMessageProcess = 10
 
-  /**
-    * Message used when the limits of local messages processed is reached.
-    * This one alone to resume immediately the messageQueue processing in case of there's no incoming messages
-    */
-  private object CheckMailbox
+  override def preRestart(reason: Throwable, message: Option[Any]): Unit = {
+    println("[DEBUG] Restart Actor " + self + " : " + reason + (if(message.isDefined) " | " + message.get else "" ))
+    super.preRestart(reason, message)
+  }
+
+  def resolvePath(target : Traversable[Any]) : NetworkEntity = {
+    entity.resolvePath(target)
+  }
 
 
   /**