added clone mechanism