Committing just in case I find time to work on this at work.
Adding what I have again.