need a dedicated "copy()" method