add a function copy