add directory function