Merge old ISOfilerecursor changes to fix inf. loop. Also code review.