Major updates of code structure and content. Much more emphasis than earlier on input validation and focus on easy maintenance. Logging included to capture overall results and logging of key data (such as date, time, operating system, Python version etc.).