Incorporated most of the text edits from JKC