FACache: This is cleaner as a do while loop