Last commit I'm going to do unless there's an urgent bug. I need to work on other stuff. Already been working on this all day and part of yesterday.