add 'clone' support