Tweening Size/Position Help

I’ve setup a part to resize to a certain point but I can’t seem to find a way make it shrink again going in the opposite direction of which it started. This is what I mean-

So it starts like this
image

It grows until it’s like this
image

and then finally shrinks again but on the other side like this
image

This is what I have so far, it works until the final part where it has to shrink going in the opposite direction.

    local TS = game:GetService("TweenService")
	local newSize1 = 3
	local endSize1 = Vector3.new(newSize1, BP.Size.Y, BP.Size.Z)
	local endPosition1 = BP.Position + Vector3.new(0,(BP.Size.X/2) - (newSize1/2),0)
	local goal = {
		Size = endSize1,
		Position = endPosition1
	}		
	local tweenInfo = TweenInfo.new(3)
	local tweenPart1 = TS:Create(BP, tweenInfo, goal)
	
	local newSize3 = 0.2
	local endSize3 = Vector3.new(newSize3, BP.Size.Y, BP.Size.Z)
	local endPosition3 = BP.Position - Vector3.new(0,(BP.Size.X/2) - (newSize3/2),0)
	local goal = {
		Size = endSize3,
		Position = endPosition3
	}		
	local tweenInfo = TweenInfo.new(3)
	local tweenPart3 = TS:Create(BP, tweenInfo, goal)

instead of Vector3.new() try CFrame.new()