using memcpy is wrong for overlapping memory
removedblog/storeheap.c