handle empty dirs / nonexistant files
ok