rewrote the list to not bring EVERYTHING into memory