added clone functionality