add clone and snapshot support