better spellcheck implementation