added all valid perror checks