Added new error codes. Improved error handling.