Cleaned up Copy method