file_exists could also access storage, need to catch exception as well