use fd for list