Need help getting bullets to go the right direction is a 2D enviroment

I have this script to shoot bullets towards the mouse cursor but it always shoots it at a 45? degree angle.
Heres the script just for the shooting

I have a system to create a bullet and shoot it towards the mouse cursor but I also have an arm that its rotating around.

void pistolShooting()
{
Vector3 aimPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
aimPos.z = 0;

    //Creating the bullet and shooting it
    var pel = Instantiate(Bullet, pistolBulletSpawn.position, pistolBulletSpawn.rotation);
    pel.GetComponent<Rigidbody2D>().AddForce(aimPos.normalized * 8000f);
    //Playing the bullet noise
    //Shot.Play();
    //shooting and reloading
    usingBulletPerMag -= 1;

}

script is Untested but this is the idea:

		Vector3 mp;
		RaycastHit hit;
		// get mouse position on screen with raycast
		// mouse must be on top of object
		Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 
		if (Physics.Raycast (Camera.main.ScreenPointToRay (Input.mousePosition), out hit)) {

				
			            //subtract to get direction
						mp = hit.point - pistolBulletSpawn.position;
						rigidbody.AddForce (mp.normalized * 8000f);
				}