Updated Error Checks and Exceptions