add parse_line logic