A lot of missing letter and typo corrected thanks to @ccrook