add scan_dir.hpp