Weapon M6D cannot line up correctly with character arms

Basically lets set this straight here. So i was coding back my old gun system and i have being setting up a motor6d system where the arms follows the cursors.
But when i added in Motor6D for the weapons it is… wack.

And i am having headaches to fix this wrong location and setup

if char.Torso:FindFirstChild("WepM6D") then
   char.Torso["WepM6D"].C0 = char.Torso["WepM6D"].C0:Lerp(CFrame.new(0.15, .15, -0.15) * CFrame.Angles(-math.asin((m.Origin.p - m.Hit.p).unit.y), 1.55, 0):Inverse() , 0.1)
end

I just need a further quick patch on this, and if you do have a solution hey thanks!