memcpy now takes restrict pointer and get my own version of c lib working