Thanks for hosting!
I think I tried to make this much harder than it really was, I kept feeling like it could be better but it is what it is and I am pretty sure it meets all the requirements.
Again thanks for hosting and thanks for the PP:
also here