hopefully some nice error handling improvements.