Added _copy() and _extend() functions