* don't use memcpy on overlapping operations