spellcheck
implementation, different things from original