Implement move, copy, and test