Polished again. I think this may be the final version now.