cloner implementation
cloner implemented