fixed parsing: extract from line, no full line match