great thanks for your feedback. I'll take a deeper look into the points you've made in the next few days and get back to you!
You've made a bunch of good point and I'll be making some amendments to the code based off the back of your feedback.
I'll post back here once I've done so and give a little more context on the changes and on your questions/points :)