#11 more error handling algorithms