modify create_fd()