base provider for dir function