How to offset world location vector?

So I’m trying to get my puzzle pieces to snap together into groups and in many cases it’s working but my current struggle is when I have a grouped set of pieces and my snapping logic recognizes that a snap should take place I need to find out where to set the actor location for the group in order for the pieces to align. I’ve already got it working for single pieces but the group has it’s own pivot that could be at any of the pieces in the group’s world location so I need to find a way to incorporate that offset amount into the equation. I’m just not sure what math to do. Do I find the difference in the two vectors and then add that difference in? Here’s a screenshot of my current graph. The green color coding is logic that works and the white is me still playing with pieces trying to figure it out. ![alt text][2]