forward error correction types