prepare for copy constructor