add dirdo() function