directory functional