change __copy__ to use replicate to better act like a shallow copy
Move copy/deecopy after replicate