This is internals documentation written by Mick Durkin.