Improved error handling, more error catching, error messages.