implemented doMove and returnCopy