renamed copy() to clone()