the parser should not depend on UnsafePointer<UInt8>