I'll work tomorrow on adding more tests.
And once I do that, I'll push my code so you'll be able to see all the changes I've made at your suggestions.