more robust copy