search features + fix read_dir