generalize control strings to cover IO error