working on error correction