First implementation of the copying