> Do not change the code in the question after receiving an answer. Incorporating advice from an answer into the question violates the question-and-answer nature of this site.
Do not add an improved version of the code after receiving an answer. Including revised versions of the code makes the question confusing. Instead, consider one of the following options: