improve wipe()