fred edited out my first iteration of the above which was a little better put among other things