updated dired function