Reviewed by John, except for one bit reviewed by Maciej.