diff --git a/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile1.cs b/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile1.cs
index 15aa963ea6f4f5cf4d0eb06519d677547ee3beb8..5c82b09e44abfff11e1330b0f565bb9263d886d8 100644
--- a/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile1.cs
+++ b/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile1.cs
@@ -14,7 +14,7 @@ namespace BigSock {
 	*/
 	public class BasicProjectile1 : BaseAttack {
 		//protected static readonly GameObject PROJECTILE_BASE = new AttackMovement();
-		public const string PROJECTILE_NAME = "attack";
+		public const string PROJECTILE_NAME = "bullets/basicsquarebullet";
 
 		
 		public override ulong Id => 101;
diff --git a/MrBigsock/Assets/Code/Core/Abilities/BiggerSlowerProjectile.cs b/MrBigsock/Assets/Code/Core/Abilities/BiggerSlowerProjectile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..19968e12c872a34d8bd8efeadb6c5423783bc334
--- /dev/null
+++ b/MrBigsock/Assets/Code/Core/Abilities/BiggerSlowerProjectile.cs
@@ -0,0 +1,67 @@
+using System.Collections;
+using System;
+using System.Collections.Generic;
+
+using UnityEngine;
+using UnityEngine.InputSystem;
+
+using BigSock.Service;
+
+namespace BigSock {
+
+	/*
+		Basic projectile attack for the player..
+	*/
+	public class BiggerSlowerProjectile : BaseAttack {
+		//protected static readonly GameObject PROJECTILE_BASE = new AttackMovement();
+		public const string PROJECTILE_NAME = "bullets/bigslowbullet";
+
+		
+		public override ulong Id => 102;
+		public override string Name => "Big Ball";
+		public override string Description => "It's big and slow, but it packs a punch.";
+
+		public BiggerSlowerProjectile() {
+			AttackStats = new AttackStats{
+				Damage = 4f,
+				Knockback = 5f,
+				Range = 5f,
+				ProjectileSpeed = 3f,
+				AttackSpeed = 1f,
+			};
+
+			Cooldown = new TimeSpan(0, 0, 0, 2, 0);
+		}
+
+
+
+		/*
+			Activates the ability.
+			Returns true if the ability was successfully activated. 
+				- Even if nothing was hit, used to indicate that cooldowns should be updated.
+			This should be overridden in sub-classes for the actual abilities.
+		*/
+		protected override bool Activate(Character actor, Vector3? target) {
+			if(target == null) return false;
+
+			var attack = (AttackStats) AttackStats.Apply(actor.Stats);
+			attack.Actor = actor;
+
+
+			var temp = (target.Value - actor.transform.position);
+			temp.z = 0;
+
+			var bullet = PrefabService.SINGLETON.Instance(PROJECTILE_NAME, actor.transform.position);
+			var bulletScript = bullet.GetComponent<AttackMovement>();
+			//bulletScript.Actor = actor;
+			bulletScript.Stats = attack;
+			bulletScript.Direction = temp.normalized;
+
+
+			//MonoBehaviour.Instantiate(PROJECTILE_BASE, (Vector3) actor.transform.position, PROJECTILE_BASE.transform.rotation);
+			return true;
+		}
+
+	}
+
+}
\ No newline at end of file
diff --git a/MrBigsock/Assets/Code/Core/Abilities/BiggerSlowerProjectile.cs.meta b/MrBigsock/Assets/Code/Core/Abilities/BiggerSlowerProjectile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b4b06bfec47cf5d0ba33e41cf187242118408045
--- /dev/null
+++ b/MrBigsock/Assets/Code/Core/Abilities/BiggerSlowerProjectile.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c80b74b32e3dc7745a400cec3fae0641
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/MrBigsock/Assets/Code/PlayerController.cs b/MrBigsock/Assets/Code/PlayerController.cs
index 300cedfbac1d53a86394b866607ddc3655d53b33..5bcbfb2818e1b58b5de146ad7671a868e29d9307 100644
--- a/MrBigsock/Assets/Code/PlayerController.cs
+++ b/MrBigsock/Assets/Code/PlayerController.cs
@@ -32,7 +32,8 @@ namespace BigSock {
 
 
 
-			protected IAttack _testAttack;// = new BasicProjectile1();
+			protected IAttack _testAttack;
+			protected IAttack _testAttack2;
 
 			public DateTime NextTimeCanAttack { get; private set; } = DateTime.Now;
 
@@ -54,6 +55,7 @@ namespace BigSock {
 				TryPickUpItem(ItemService.SINGLETON.Get(202));
 				var tmp = PrefabService.SINGLETON;
 				_testAttack = (IAttack) AbilityService.SINGLETON.Get(101);
+				_testAttack2 = (IAttack) AbilityService.SINGLETON.Get(102);
 			}
 
 
@@ -95,8 +97,7 @@ namespace BigSock {
 
 			}
 
-			private void Update()
-			{
+			private void Update() {
 				if (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButton(0)) {
 					// Manage attack cooldown.
 					if(NextTimeCanAttack <= DateTime.Now) {
@@ -110,6 +111,10 @@ namespace BigSock {
 					}
 				}
 
+				if(Input.GetKey(KeyCode.Z)) {
+					_testAttack2.Use(this, Camera.main.ScreenToWorldPoint(Input.mousePosition));
+				}
+
 				//!! Code for testing the new item stuff.
 				if(Input.GetKeyDown(KeyCode.Space)) {
 					var item = ItemService.SINGLETON.GetRandom(); // new ItemRunningShoes();
diff --git a/MrBigsock/Assets/Prefabs/Test.meta b/MrBigsock/Assets/Prefabs/Bullets.meta
similarity index 77%
rename from MrBigsock/Assets/Prefabs/Test.meta
rename to MrBigsock/Assets/Prefabs/Bullets.meta
index 8110b43873492ac7d9053c2d8fc0a18c35392888..43206aefbe685eb1776c0ae9e7c0a61d80ffd04e 100644
--- a/MrBigsock/Assets/Prefabs/Test.meta
+++ b/MrBigsock/Assets/Prefabs/Bullets.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: ab1236fcd80cdcd4087feefb329f93be
+guid: b0537d7a3164f1043a126b2e6647f45b
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/MrBigsock/Assets/Prefabs/Test/attack 1.prefab b/MrBigsock/Assets/Prefabs/Bullets/basic square bullet.prefab
similarity index 99%
rename from MrBigsock/Assets/Prefabs/Test/attack 1.prefab
rename to MrBigsock/Assets/Prefabs/Bullets/basic square bullet.prefab
index 76613d515234fdb4e24ae1ca5229f74135429a9d..84d2745dcb68f89e5522168e18ea1483dac52586 100644
--- a/MrBigsock/Assets/Prefabs/Test/attack 1.prefab	
+++ b/MrBigsock/Assets/Prefabs/Bullets/basic square bullet.prefab	
@@ -15,7 +15,7 @@ GameObject:
   - component: {fileID: 7173793660907891948}
   - component: {fileID: 5355219341519538053}
   m_Layer: 10
-  m_Name: attack 1
+  m_Name: basic square bullet
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
diff --git a/MrBigsock/Assets/Prefabs/Test/attack 1.prefab.meta b/MrBigsock/Assets/Prefabs/Bullets/basic square bullet.prefab.meta
similarity index 74%
rename from MrBigsock/Assets/Prefabs/Test/attack 1.prefab.meta
rename to MrBigsock/Assets/Prefabs/Bullets/basic square bullet.prefab.meta
index 4894bab2f51392186c537a59675dcbf622134704..dbd2353731bf1a998803ed28f37940633d7c7474 100644
--- a/MrBigsock/Assets/Prefabs/Test/attack 1.prefab.meta	
+++ b/MrBigsock/Assets/Prefabs/Bullets/basic square bullet.prefab.meta	
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 90d3ad8365877544cad09c96114a968f
+guid: 0b6baaea48df02c4cb78bc358a91df08
 PrefabImporter:
   externalObjects: {}
   userData: 
diff --git a/MrBigsock/Assets/Prefabs/Bullets/big slow bullet.prefab b/MrBigsock/Assets/Prefabs/Bullets/big slow bullet.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..543b4693a61a05bef705db75e9a8d838e93f52f1
--- /dev/null
+++ b/MrBigsock/Assets/Prefabs/Bullets/big slow bullet.prefab	
@@ -0,0 +1,152 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &7173793660907891926
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7173793660907891920}
+  - component: {fileID: 7173793660907891921}
+  - component: {fileID: -6768472252184241181}
+  - component: {fileID: 7173793660907891949}
+  - component: {fileID: 7173793660907891948}
+  - component: {fileID: 5355219341519538053}
+  m_Layer: 10
+  m_Name: big slow bullet
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7173793660907891920
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7173793660907891926}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 2.0584211, y: -1.6348, z: 0}
+  m_LocalScale: {x: 4, y: 4, z: 4}
+  m_ConstrainProportionsScale: 1
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &7173793660907891921
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7173793660907891926}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 2
+  m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!58 &-6768472252184241181
+CircleCollider2D:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7173793660907891926}
+  m_Enabled: 1
+  m_Density: 1
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_UsedByEffector: 0
+  m_UsedByComposite: 0
+  m_Offset: {x: 0, y: 0}
+  serializedVersion: 2
+  m_Radius: 0.1
+--- !u!50 &7173793660907891949
+Rigidbody2D:
+  serializedVersion: 4
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7173793660907891926}
+  m_BodyType: 0
+  m_Simulated: 1
+  m_UseFullKinematicContacts: 0
+  m_UseAutoMass: 0
+  m_Mass: 1
+  m_LinearDrag: 0
+  m_AngularDrag: 0.05
+  m_GravityScale: 0
+  m_Material: {fileID: 0}
+  m_Interpolate: 0
+  m_SleepingMode: 1
+  m_CollisionDetection: 0
+  m_Constraints: 4
+--- !u!114 &7173793660907891948
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7173793660907891926}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 08cde138491863f44997ffed19e030dd, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &5355219341519538053
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7173793660907891926}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3ae233c400f83844da0350aabdf5097d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  speed: 10
diff --git a/MrBigsock/Assets/Prefabs/Bullets/big slow bullet.prefab.meta b/MrBigsock/Assets/Prefabs/Bullets/big slow bullet.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5151efcd2d73150634b2a624141b4a8bf4a5d43f
--- /dev/null
+++ b/MrBigsock/Assets/Prefabs/Bullets/big slow bullet.prefab.meta	
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 18577178eac0b0f4b9c7a6027a6c6444
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: