fix dir function