diff --git a/src/EllieBot/Modules/Games/Fish/DESIGN.md b/src/EllieBot/Modules/Games/Fish/DESIGN.md
index 4beddd4..8dfbd5c 100644
--- a/src/EllieBot/Modules/Games/Fish/DESIGN.md
+++ b/src/EllieBot/Modules/Games/Fish/DESIGN.md
@@ -35,7 +35,7 @@ flowchart TD
     B --> D["Complete the set"]:::todo
     D --> E[Recognition]:::todo & F[Buff?]:::todo
     F --> B
-    B --> X[Buy bait]:::todo
+    B --> X[Buy equipment]:::todo
     X1[Modify Odds]:::todo --> B
     X --> X1
 ```
diff --git a/src/EllieBot/Modules/Games/Fish/Db/UserFishStats.cs b/src/EllieBot/Modules/Games/Fish/Db/UserFishStats.cs
index 8462f1f..caf3af8 100644
--- a/src/EllieBot/Modules/Games/Fish/Db/UserFishStats.cs
+++ b/src/EllieBot/Modules/Games/Fish/Db/UserFishStats.cs
@@ -9,4 +9,21 @@ public sealed class UserFishStats
 
     public ulong UserId { get; set; }
     public int Skill { get; set; }
+
+    public int? Pole { get; set; }
+    public int? Bait { get; set; }
+}
+
+public sealed class FishingPole
+{
+    [Key]
+    public int Id { get; set; }
+
+    public string Name { get; set; } = string.Empty;
+
+    public long Price { get; set; }
+
+    public string Emoji { get; set; } = string.Empty;
+
+
 }
\ No newline at end of file
diff --git a/src/EllieBot/Modules/Games/Fish/FishConfig.cs b/src/EllieBot/Modules/Games/Fish/FishConfig.cs
index a33a166..05bb381 100644
--- a/src/EllieBot/Modules/Games/Fish/FishConfig.cs
+++ b/src/EllieBot/Modules/Games/Fish/FishConfig.cs
@@ -14,6 +14,43 @@ public sealed partial class FishConfig : ICloneable<FishConfig>
     public List<string> SpotEmojis { get; set; } = new();
     public FishChance Chance { get; set; } = new FishChance();
 
+    public List<FishBait> Baits { get; set; } = new();
+    public List<FishingPole> Poles { get; set; } = new();
     public List<FishData> Fish { get; set; } = new();
     public List<FishData> Trash { get; set; } = new();
-}
\ No newline at end of file
+}
+
+public sealed class FishBait : ICloneable<FishBait>
+{
+    public int Id { get; set; }
+    public string Name { get; set; } = string.Empty;
+    public long Price { get; set; }
+    public string Emoji { get; set; } = string.Empty;
+    public int StackSize { get; set; } = 100;
+
+    public string? OnlyWeather { get; set; }
+    public string? OnlySpot { get; set; }
+    public string? OnlyTime { get; set; }
+
+    public double FishMulti { get; set; } = 1;
+    public double TrashMulti { get; set; } = 1;
+    public double NothingMulti { get; set; } = 1;
+
+    public double RareFishMulti { get; set; } = 1;
+    public double RareTrashMulti { get; set; } = 1;
+
+    public double MaxStarMulti { get; set; } = 1;
+}
+
+public sealed class FishingPole : ICloneable<FishingPole>
+{
+    public int Id { get; set; }
+    public string Name { get; set; } = string.Empty;
+    public long Price { get; set; }
+    public string Emoji { get; set; } = string.Empty;
+    public string Img { get; set; } = string.Empty;
+
+    public double FishMulti { get; set; } = 1;
+    public double TrashMulti { get; set; } = 1;
+    public double NothingMulti { get; set; } = 1;
+}