implemented collection copying