The design and implementation of a grammar-checking program for learners of English as a foreign language : information, processes, possibilities and limitations