Can you push it to this branch? Will make it easier to comment on.

Side note: I hope you don't think it's a PITA that I just comment and say "what's wrong or right". I'm by no means an expert on this shit - look at all the crappy code I've made - but doing it like this makes it a learning experience for both of us.