Sped up parsing by keeping track of start and end of string instead using intermediate buffer.
Warning fix.
Use bitfield to save space.
Blah.