1. refactor path.c 2. finish readdir()