Thkx for the suggestions, I am indeed wading my way thru a recently purchased 1500-page C# book - while trying to keep up with teaching, examining and marking 200 kids learning Delphi. We have been teaching Delphi at school for some time now (some schools teach Java) and forsee it making way for C#. Questions asked in exams are set so you can answer them in either Delphi or Java. I have set a typical problem - a button to add an object to an ArrayList (Delphi would use a dynamic array, I don't know how Java would handle it), and a button to display the array. Typically, a question would also have buttons to sort and to locate/delete/insert an object. The form design will be given, sometimes even the data. Learners must then make the buttons work. I know global variables defeat the aims of OOP, but I was trying to define the ArrayList as such. So, to some extent, it's not about elegant solutions at this level but rather just getting to grips with the basics. Hannes