There is a very simple way of making a vocabulary training program (for any language) - I have done it in two different Basics, and sometime soon I will be making a Hypercard version for my Macintosh. The basic idea is that the program gives you a word (or phrase, or even a grammar question) in one language, and you have to answer with the correct equivalent in another. After this, the program asks you to evaluate your performance from 1 to 5, say (an advanced version would incorporate a certain amount computer evaluation of speed and spelling, but I doubt if that is really necessary). Each time you use the program, you go through a session of questions, a sort of stack. This is one of 5-6 stacks in the computer (say in seperate files), arranged in order for use. After each question, the evaluation helps the computer decide to which stack to move the question just asked. If you answered badly, the question is moved into the stack for the next session. If you answered well, the question is moved to the last stack. If you answer in between, the question is moved to one of the in-between stacks. The effect is that questions you do well with are only asked every 5th time you use the program, while questions you do badly with appear every time. Questions in between get asked every 2nd, 3rd or 4th time. It's pretty simple to program, and you can make do with one 3-element array (question, answer, rating) instead of using different "stacks". You can also program in trash options, add-more questions features, and editing enviroments. J.