Mostly theme changes, and more rigid error checking