diff --git a/Assets/Input System/InputControl.cs b/Assets/Input System/InputControl.cs
index 1721bcc14fc4a6451cf7b233cb0db63f719486da..9a431f1bb23f47d4feecffa561e86157f51e2c78 100644
--- a/Assets/Input System/InputControl.cs	
+++ b/Assets/Input System/InputControl.cs	
@@ -213,7 +213,7 @@ public partial class @InputControl : IInputActionCollection2, IDisposable
                     ""path"": ""<Keyboard>/f"",
                     ""interactions"": """",
                     ""processors"": """",
-                    ""groups"": """",
+                    ""groups"": ""Keyboard"",
                     ""action"": ""Shop"",
                     ""isComposite"": false,
                     ""isPartOfComposite"": false
diff --git a/Assets/Input System/InputControl.inputactions b/Assets/Input System/InputControl.inputactions
index 8cb38ff4810a20f531e3eccad13be7a347f3b54b..68da11d74e0f0a1710cf1a1c0f04075b98d014e9 100644
--- a/Assets/Input System/InputControl.inputactions	
+++ b/Assets/Input System/InputControl.inputactions	
@@ -191,7 +191,7 @@
                     "path": "<Keyboard>/f",
                     "interactions": "",
                     "processors": "",
-                    "groups": "",
+                    "groups": "Keyboard",
                     "action": "Shop",
                     "isComposite": false,
                     "isPartOfComposite": false
diff --git a/Assets/Prefabs/Enemies/EnemyManager.prefab b/Assets/Prefabs/Enemies/EnemyManager.prefab
index bd24c7264e5d1b5c9562dbe306cdef1f26f464df..6a1ae7da69bb850fe64d411f0b4a84b27da319d0 100644
--- a/Assets/Prefabs/Enemies/EnemyManager.prefab
+++ b/Assets/Prefabs/Enemies/EnemyManager.prefab
@@ -18,6 +18,7 @@ GameObject:
   - component: {fileID: 2056491566893606153}
   - component: {fileID: 2056491566893606156}
   - component: {fileID: 8396560265405638811}
+  - component: {fileID: 3767772172126678300}
   m_Layer: 0
   m_Name: EnemyManager
   m_TagString: Untagged
@@ -366,3 +367,67 @@ MonoBehaviour:
           m_StringArgument: 
           m_BoolArgument: 0
         m_CallState: 2
+--- !u!114 &3767772172126678300
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2056491566893606147}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: de1ce7b2da063c845bb32c30cd8cef70, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  gameEvent: {fileID: 11400000, guid: ea0153e47b9ad634ab84361b023a3c42, type: 2}
+  response:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 2056491566893606150}
+        m_TargetAssemblyTypeName: EnemySpawnManager, Assembly-CSharp
+        m_MethodName: OnStopSpawn
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 2056491566893606149}
+        m_TargetAssemblyTypeName: EnemySpawnManager, Assembly-CSharp
+        m_MethodName: OnStopSpawn
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 2056491566893606148}
+        m_TargetAssemblyTypeName: EnemySpawnManager, Assembly-CSharp
+        m_MethodName: OnStopSpawn
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 2056491566893606154}
+        m_TargetAssemblyTypeName: EnemySpawnManager, Assembly-CSharp
+        m_MethodName: OnStopSpawn
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
diff --git a/Assets/Scripts/Enemy/EnemyAttack.cs b/Assets/Scripts/Enemy/EnemyAttack.cs
index 843cc926039104322cdaeafadee40700fc69f1d4..baeeb7e2f37521428c0244973a5620f59bdf6f96 100644
--- a/Assets/Scripts/Enemy/EnemyAttack.cs
+++ b/Assets/Scripts/Enemy/EnemyAttack.cs
@@ -1,125 +1,124 @@
 using UnityEngine;
-using System.Collections;
 
 public class EnemyAttack : MonoBehaviour
 {
-    public static EnemyAttack Instance;
-    public float timeBetweenAttacks = 0.5f;
-    public bool immunity;
-    public bool instantKill;
-    public int attackDamage = 10;
-    [Header("Events")]
-    public GameEvent OnPlayerTakeDamage;
-
-    [Header("Events")]
-    public GameEvent OnPetTakeDamage;
-
-    Animator anim;
-    GameObject player;
-    GameObject pet;
-    EnemyHealth enemyHealth;
-    PlayerHealth playerHealth;
-    PetHealth petHealth;
-
-    bool playerInRange;
-    bool petInRange;
-    float timer;
-
-
-    void Awake ()
+  public static EnemyAttack Instance;
+  public float timeBetweenAttacks = 0.5f;
+  public bool immunity;
+  public bool instantKill;
+  public int attackDamage = 10;
+  [Header("Events")]
+  public GameEvent OnPlayerTakeDamage;
+
+  [Header("Events")]
+  public GameEvent OnPetTakeDamage;
+
+  Animator anim;
+  GameObject player;
+  GameObject pet;
+  EnemyHealth enemyHealth;
+  PlayerHealth playerHealth;
+  PetHealth petHealth;
+
+  bool playerInRange;
+  bool petInRange;
+  float timer;
+
+
+  void Awake()
+  {
+    instantKill = false;
+    immunity = false;
+    player = GameObject.FindGameObjectWithTag("Player");
+    playerHealth = player.GetComponent<PlayerHealth>();
+
+    pet = GameObject.FindGameObjectWithTag("Pet");
+    if (pet != null) petHealth = pet.GetComponent<PetHealth>();
+
+    enemyHealth = GetComponent<EnemyHealth>();
+    anim = GetComponent<Animator>();
+
+    petInRange = false;
+    playerInRange = false;
+    // if(Instance!= null)
+    // {
+    //     Destroy(gameObject);
+    //     return;
+    // }
+    // Instance = this;
+  }
+
+  void OnTriggerEnter(Collider other)
+  {
+    if (other.gameObject == player && other.isTrigger == false)
     {
-        instantKill = false;
-        immunity = false;
-        player = GameObject.FindGameObjectWithTag ("Player");
-        playerHealth = player.GetComponent<PlayerHealth>();
-
-        pet = GameObject.FindGameObjectWithTag("Pet");
-        if (pet != null) petHealth = pet.GetComponent<PetHealth>();
-
-        enemyHealth = GetComponent<EnemyHealth>();
-        anim = GetComponent <Animator> ();
-
-        petInRange = false;
-        playerInRange = false;
-        if(Instance!= null)
-        {
-            Destroy(gameObject);
-            return;
-        }
-        Instance = this;
+      playerInRange = true;
     }
-
-    void OnTriggerEnter (Collider other)
+    else if (other.gameObject == pet && other.isTrigger == false)
     {
-        if(other.gameObject == player && other.isTrigger == false)
-        {
-            playerInRange = true;
-        }
-        else if(other.gameObject == pet && other.isTrigger == false)
-        {
-            petInRange = true;
-        }
+      petInRange = true;
     }
+  }
 
-    void OnTriggerExit (Collider other)
+  void OnTriggerExit(Collider other)
+  {
+    if (other.gameObject == player)
+    {
+      playerInRange = false;
+    }
+    else if (other.gameObject == pet)
     {
-        if(other.gameObject == player)
-        {
-            playerInRange = false;
-        }
-        else if (other.gameObject == pet)
-        {
-            petInRange = false;
-        }
+      petInRange = false;
     }
+  }
 
 
-    void Update ()
+  void Update()
+  {
+    timer += Time.deltaTime;
+
+    if (timer >= timeBetweenAttacks && playerInRange && enemyHealth.currentHealth > 0 && playerHealth.currentHealth > 0)
+    {
+      AttackPlayer();
+    }
+
+    if (timer >= timeBetweenAttacks && petInRange && enemyHealth.currentHealth > 0 && petHealth.currentHealth > 0)
     {
-        timer += Time.deltaTime;
+      AttackPet();
+    }
+  }
 
-        if(timer >= timeBetweenAttacks && playerInRange && enemyHealth.currentHealth > 0 && playerHealth.currentHealth > 0)
-        {
-            AttackPlayer();
-        }
+  public void onPlayerDead(Component sender, object data)
+  {
+    anim.SetTrigger("PlayerDead");
+  }
 
-        if(timer >= timeBetweenAttacks && petInRange && enemyHealth.currentHealth > 0 && petHealth.currentHealth > 0)
-        {
-            AttackPet();
-        }
-	}
 
-    public void onPlayerDead(Component sender, object data)
+  void AttackPlayer()
+  {
+    timer = 0f;
+    if (!immunity)
     {
-        anim.SetTrigger("PlayerDead");
+      OnPlayerTakeDamage.Raise(this, attackDamage);
     }
+    else
+    {
+      OnPlayerTakeDamage.Raise(this, 0);
 
+    }
+  }
 
-    void AttackPlayer()
+  void AttackPet()
+  {
+    timer = 0f;
+    if (!instantKill)
     {
-        timer = 0f;
-        if (!immunity)
-        {
-            OnPlayerTakeDamage.Raise(this, attackDamage);
-        }
-        else
-        {
-            OnPlayerTakeDamage.Raise(this, 0);
-
-        }
+      OnPetTakeDamage.Raise(this, attackDamage);
     }
-
-    void AttackPet()
+    else
     {
-        timer = 0f;
-        if (!instantKill)
-        {
-            OnPetTakeDamage.Raise(this, attackDamage);
-        }
-        else
-        {
-            OnPetTakeDamage.Raise(this, 200);
-
-        }
+      OnPetTakeDamage.Raise(this, 200);
+
     }
+  }
 }
diff --git a/Assets/Scripts/Managers/EnemyManager.cs b/Assets/Scripts/Managers/EnemyManager.cs
index ac5e460656fb6fe4577221d9df35f4f2547fa33a..987247bc96fa2bc71ac696dfa85c3bb02e5ff6ec 100644
--- a/Assets/Scripts/Managers/EnemyManager.cs
+++ b/Assets/Scripts/Managers/EnemyManager.cs
@@ -18,7 +18,7 @@ public class EnemyManager : MonoBehaviour
     public void OnEnemySpawn(Component sender, object data)
     {
         numEnemySpawn++;
-        if (numEnemySpawn == maxNumEnemySpawn)
+        if (numEnemySpawn >= maxNumEnemySpawn)
         {
             stopSpawnEnemy.Raise(this, null);
         }
diff --git a/Assets/Scripts/Managers/EnemySpawnManager.cs b/Assets/Scripts/Managers/EnemySpawnManager.cs
index 66cf51e59ca7c4e946c49a97b6444c0f11bd573b..d9911d4813e0ecf925222971cb1fd6f708e033cd 100644
--- a/Assets/Scripts/Managers/EnemySpawnManager.cs
+++ b/Assets/Scripts/Managers/EnemySpawnManager.cs
@@ -29,6 +29,7 @@ public class EnemySpawnManager : MonoBehaviour
     {
         int spawnPointIndex = Random.Range(0, spawnPoints.Length);
         Instantiate(enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
+        Debug.Log("Instantiate " + enemy.name + " on " + spawnPoints[spawnPointIndex].name);
 
     }