fixed error-checking