Added nonlinear error correction, but I don't think GF multiplication works.