add memcpy implementation