Generalized the copy/add routine