First pass at "replace original" without movement

if the data is the same length (or shorter), the data will attempt to
insert itself into the same spot it was taken from. This adds the pieces
for it to work.