now possibly_cached contains all logic for determining file locations