Help with part allignment for placement system

So I used EgoMoose’s tutorial for a placement system and I changed it up a bit(stacking, y-rotating)
but the allignment doesn’t work:


As you can see there are gaps and i dont know why.

Code:

local p = pMouse.Hit.Position
			
local ray = RaycastParams.new()
ray.FilterType = Enum.RaycastFilterType.Blacklist
ray.FilterDescendantsInstances = {Player.Character, self._currentModel}
			
local result = Mouse:Raycast(ray)
			
if result then
	if result.Instance:IsDescendantOf(self._plot.Build) then
		local DistanceBetween = (result.Instance.Position - p).Magnitude
		local Direction = (result.Instance.Position - p).Unit
					
		p -= (DistanceBetween * Direction)
		end
	end
--more code here lol

Thanks

Fixed it. I just needed to do this:

p -= (DistanceBetween * (Direction + Vector3.new(0, 0.5, 0)))