clone implement