recursive clone added