added clone method