recursively require files in directories