I think maybe this needs reviewing, as it was written 3 years ago, in case anything has changed in the meantime.
Surprisingly up to date.