Sorry... this is what happens when I face a deadline, self-imposed though it may be.
Tell me what you think.