updated clone method