• This article is a good read, but would be much more useful if the rest of the code was included.