add dir_iterator & Makefile