updated memmove implementation