make fds use a list rather than a hash now we just need to keep track of them rather than look them up often