adding error handling for file DNE and perms issues.. but at least we're only doing it in one place now