Changed DS to be parsed into double instead of string. Changed length lexing to be done as uint32 instead of int. Changed ReadUInt16 to actually return uint32 because that is how the value eventually gets used anyway.