add get_next_line and some basic func