More fields and more robust error handling.