hopefully complete error-handling