Add a warning function, change some errors to warnings, improve a couple of error messages (not sure whether scewed was meant to be skewed or screwed :))