async memcpy part is revised