diff --git a/Model/Arrow/ExtendsClass.php b/Model/Arrow/ExtendsClass.php
index 384541da2bef1d5d2985975e3a27d078acbf0cf1..9a0c0d6c2e9a5ebe12157ce7e0242547225877c7 100644
--- a/Model/Arrow/ExtendsClass.php
+++ b/Model/Arrow/ExtendsClass.php
@@ -8,6 +8,8 @@
 
 namespace Irstea\PlantUmlBundle\Model\Arrow;
 
+use Irstea\PlantUmlBundle\Model\UmlNodeInterface;
+
 /**
  * Description of ExtendsClass
  *
@@ -15,8 +17,8 @@ namespace Irstea\PlantUmlBundle\Model\Arrow;
  */
 class ExtendsClass extends BaseArrow
 {
-    public function __construct(\Irstea\PlantUmlBundle\Model\UmlNodeInterface $source, \Irstea\PlantUmlBundle\Model\UmlNodeInterface $target, $link = "--", $label = null)
+    public function __construct(UmlNodeInterface $source, UmlNodeInterface $target)
     {
-        parent::__construct($source, $target, $link, $label);
+        parent::__construct($target, $source, "<|--");
     }
 }
diff --git a/Model/Arrow/ImplementsInterface.php b/Model/Arrow/ImplementsInterface.php
index dbdede845ccdaca7a8f3c025d3c63dea2fc1dbab..bd7451b50fc3c1796820e7b9471e1e9d20f93c47 100644
--- a/Model/Arrow/ImplementsInterface.php
+++ b/Model/Arrow/ImplementsInterface.php
@@ -20,6 +20,6 @@ class ImplementsInterface extends BaseArrow
 {
     public function __construct(UmlNodeInterface $source, Interface_ $target)
     {
-        parent::__construct($source, $target, "..|>");
+        parent::__construct($target, $source, "<|..");
     }
 }
diff --git a/Model/Arrow/UsesTrait.php b/Model/Arrow/UsesTrait.php
index 925284d35f90091c736ab7d12613392711c31d54..9d59279264db355f1214500dc3f2010b2e61e3c1 100644
--- a/Model/Arrow/UsesTrait.php
+++ b/Model/Arrow/UsesTrait.php
@@ -20,6 +20,6 @@ class UsesTrait extends BaseArrow
 {
     public function __construct(UmlNodeInterface $source, Trait_ $trait)
     {
-        parent::__construct($source, $trait, "--|>");
+        parent::__construct($trait, $source, "<|--");
     }
 }