should we not define the dup method instead?