fixed the put_dir() api