implemented physical memcpy with functors :\