Edit from John.
More edits based on comments from John
Comments by Sho.
Comments by Ben Raydo.
Comments by Matt Graham