You might be interested in some programming notes that I've just posted. Seem to have addressed some of your questions (although a bit late :))