cleaner, smarter (I hope) and better at catching errors?