add copy and paste methods, and tests.