noise_and_error correction