Edited @gr2m's additions, typos, minor changes