adding copy callbacks