See attached comments