add clone node function