cp implementation...