get_next_line FINALLY functional, and pretty fast too