Merge pull request #15 from IanJRigg/master

Inadvertantly pulled Chris' changes to main, grabbing from there will update and push working code
LOTS of changes, added files of proposed changes by chris that we can try and implement
Merge pull request #65 from Ricky1833/master

modified source files, formatted error checking, improved functionality