diff --git a/src/main/scala/Pokemon/Capacity.scala b/src/main/scala/Pokemon/Capacity.scala
index ae604352b3a9069ae188fbbea15cee5e84fcbd48..94bb1376dc02c4fd41caf9527182cad4368a39f1 100644
--- a/src/main/scala/Pokemon/Capacity.scala
+++ b/src/main/scala/Pokemon/Capacity.scala
@@ -1 +1,3 @@
-class Capacity(name: String, val ctype: Type)
+// must add later : max_used
+// uses : var or val ?
+class Capacity(name: String, val ctype: Type, var uses: Int)
diff --git a/src/main/scala/Pokemon/CapacityFactory.scala b/src/main/scala/Pokemon/CapacityFactory.scala
index 08d04df98f199b558365728179a86ef15fcdcdc7..ef2f4961c666861f1cc60ed305a434d266f852db 100644
--- a/src/main/scala/Pokemon/CapacityFactory.scala
+++ b/src/main/scala/Pokemon/CapacityFactory.scala
@@ -1,6 +1,6 @@
 object CapacityFactory:
 
-    private case class VineWhip() extends Capacity("Vine Whip", Grass)
+    private case class VineWhip() extends Capacity("Vine Whip", Grass, 15)
 
     def apply(name: String): Capacity = name match
         case "Vine Whip" => VineWhip()
diff --git a/src/main/scala/Pokemon/Pokemon.scala b/src/main/scala/Pokemon/Pokemon.scala
index 388fad1729311eebd034e76542813a0e332fb8c5..d760e8b12939dba221c7c69dfd5d62fd50aef5a2 100644
--- a/src/main/scala/Pokemon/Pokemon.scala
+++ b/src/main/scala/Pokemon/Pokemon.scala
@@ -1,4 +1,15 @@
-trait Pokemon(var name: String, var life: Int, val ptype: List[Type]):
+trait Pokemon( // must add later max_life...
+    var name: String,
+    var life: Int,
+    val ptype: List[Type],
+    var pcapacity: List[Capacity],
+    val attack: Int, // val or var ?
+    val defense: Int, // val or var ?
+    val speed: Int // val or var ?
+):
+
+    def rename(newName: String) =
+        this.name = newName
 
     def attack(capacity: Capacity, other: Pokemon) =
         val multiplier = other.ptype.foldLeft(1.0)(_ * capacity.ctype.typeEfficiency(_).factor)
diff --git a/src/main/scala/Pokemon/PokemonFactory.scala b/src/main/scala/Pokemon/PokemonFactory.scala
index 26fe2b338f205eb081cc1e5dd626313335053aac..53554211ce006150964d66891106b4e1a204f6f3 100644
--- a/src/main/scala/Pokemon/PokemonFactory.scala
+++ b/src/main/scala/Pokemon/PokemonFactory.scala
@@ -1,8 +1,8 @@
 object PokemonFactory:
 
-    private case class Bulbasaur() extends Pokemon("Bulbasaur", 25, List(Grass, Poison))
-    private case class Charmander() extends Pokemon("Charmander", 30, List(Fire))
-    private case class Squirtle() extends Pokemon("Squirtle", 25, List(Water))
+    private case class Bulbasaur() extends Pokemon("Bulbasaur", 25, List(Grass, Poison), List(), 0, 0, 0)
+    private case class Charmander() extends Pokemon("Charmander", 30, List(Fire), List(), 0, 0, 0)
+    private case class Squirtle() extends Pokemon("Squirtle", 25, List(Water), List(), 0, 0, 0)
 
     def apply(name: String): Pokemon = name match
         case "Bulbasaur"  => Bulbasaur()