 this is like just 16 okay and we are looking at if you remember read Solomon codes I want to write down how these read Solomon codes just to give you a brief recap how they might be used or just to give you a complete picture of how you go from bits to symbols over F2 param how it goes to the channel how errors are introduced I mean I think it is good to see a nice block diagram where you go from one end to the other okay so so I am going to fix n to be 2 power m minus 1 okay actually this n can be lesser than this if you shorten or something like that it is not a problem okay and so okay so we start we look at say a t error correcting read Solomon code so we look at a n n minus 2t 2t plus 1 RS code okay so this is the code and this is how it is going to be used I have a message m okay I am going to start with a message m okay so well there are two m's here so maybe I should use some other message okay so I will use you that is my message okay so how many bits will this message be okay suppose you call this k n minus 2t scale how many bits will there be in this message k times m right so you have k times m bits okay so you should have something which converts these bits into if you want symbols over F2 param okay so you can say you can think of some kind of a bit to symbol converter if you will okay so it goes from bits to symbols okay and maybe you get I don't know what should I call it call it V okay V which is now k symbols okay okay so that's that's one this is just actually I mean we and you are the same things right just just thinking about it in a different way okay that's all and this goes through the read Solomon encoder okay maybe the systematic read Solomon encoder how many parity symbols are going to be added 2t parity symbols are going to be added to correct errors so I would get a code word C okay which is n symbols okay so now before you go into the channel the binary symmetric channel which takes only binary input one can imagine having a what do you need here a symbol to bit converter which takes C and puts out maybe B okay how many bits will you have here n times m bits okay so this is the read Solomon encoder which that you would this is complete read Solomon encoder which you would see in practice okay from bits to bits okay so that's the that's the description and this is going to go through say some binary symmetric channel with probability of transition P okay so how do you think of the binary symmetric channel what does it do to your bits you get an error vector e which is adding to it right and how many bits will this be now n times m bits okay so what you get out maybe called what I don't know you want to call it call it say you can you to call it smaller okay which is again one times once again n times m bits okay so what you have to do just like for bch codes we will think of decoding in F2 param we don't want to do decoding in binary okay so we'll think of the syndrome equations in F2 param everything will be in F2 param so we'll come from go from bits to symbol once again okay so that you get okay so that you get I'll call it capital R which is once again n symbols okay let me write this guy somewhere here okay so I wanted to observe one more thing here the way this has worked out okay so remember each symbol is m bits okay so you can as well think of converting this e also right this e can be converted into what again through a bit to symbol thing into a capital E okay which is will which will be what n symbols okay oh so you want you want depends on how you want to read it okay so it's a bit to symbol convert on converting e into symbols okay so I wrote that bit to symbol convert okay so now this whole symbols to bid adding the errors in bits and then coming back to symbols is the same as what adding the adding these two guys itself okay convince yourself that that's true right after all what is symbol addition it is same as vector addition with bits so bits are being added position wise so it's the same thing right you convert that way you can look at it okay so you see that's how that's how it works okay so so that's one way of thinking about it and then here you would have say a read Solomon decoder which will convert you back into say we had and so on okay so you can do this here without any problem okay once you get we had everything will work out as before okay so this is how the entire picture would look when you actually use a read Solomon encoder and a decoder okay so I want to ask one basic question before we move along just so that this conversion idea has sunk in very well okay so if I look at this vector e okay it's going to be okay I will number it slightly differently I'll say e 1 1 e 1 2 e 1 m then e 2 1 e 2 2 2 m so on till e n 1 e n 2 e n m okay so that's how I'm going to number my the bits in my binary error vector why did I do that you can see why then I can write simply e as e 1 which would be the symbol represented by that and then e 2 which will be the symbol represented by that so on till e n which will be the symbol represented by this binary sequence okay so if I were to ask what's the probability that in small e a particular bit is 0 what's the probability 1 minus p right what's the probability that in small e a particular bit is 0 what's the probability that in capital e a particular symbol is 0 you happy okay so what's the probability that a particular symbol will not be 0 1 minus 1 minus p to the power m okay so the probability of a symbol error is what no 1 minus 1 minus p to the power m which is different from p okay probability of a bit error is p probability of a symbol error is 1 minus 1 minus p to the power m okay so what's the probability that there will be t symbol errors for instance okay you'll have to work with this 1 minus p so you'll have to say n choose t this probability of symbol error to the power t and then 1 minus probability of symbol error to the power n minus t okay so so remember your error correction in reach settlement codes is for bits or symbols symbol wise no so you can correct any t symbol errors okay so you have to find that probability and then work with that to get the actual probability of it okay so that's one additional step that you have to remember okay so that's the setup hopefully there are no questions about this basic setup and now let's dig into this R as decoder and and come up with a nice implementation we will see a particular type of decoder called the yeah I'll talk about it okay a Petersen, Gorenstein, Zerler decoder is the one that we're going to talk about okay it's the simplest one and it is not the one that's actually implemented in practice what's implemented in practice is a much more sophisticated slightly more sophisticated one but the principle is the same okay it's abbreviated at the PGC PGZ if you want decoder okay so again the setup and all that is very similar to BCH so I'll quickly go through it to tell you how it works okay instead of thinking of a codeword vector you're going to think of as a think of it as a codeword polynomial right so C of x is going to be my codeword polynomial okay belongs to the T error correcting R as code okay so what so the C is will belong to what f2 power m right so some alpha powers they will be okay so now I can think of R of x capital R of x as r0 plus r1 x plus rn minus 1 x to the power n minus 1 as the received polynomial okay okay then what do I know R of x is equal to C of x plus capital E of x okay so from R of x I am observing R of x R of x is given to me my objective is to find C of x okay but I know that's not the best thing to do the best thing is to try and find E of x right so how do I go about it I again use my syndrome ideas okay so I take my parity check matrix and do H times R transpose which in the polynomial representation becomes what when you do H times R transpose with my Reed-Solomon code it's very similar to the BCH code each row is actually polynomial evaluated at alpha power i okay so those things I'm going to use so if I take alpha belonging to f2 power m as a primitive element okay so this development is exactly the same as the BCH code so I'll evaluate two T syndromes okay my syndromes are going to be s1 equals r alpha which will be the same as what c alpha plus e alpha but c alpha you know is going to be 0 so it's the same as e alpha okay so s2 is going to be e alpha squared s3 is going to be e alpha power 3 so on till s2t which is going to be e alpha power 2t okay so now can I say any of these syndromes will be dependent on the others okay so in the BCH case we saw s2 will be simply s1 squared okay here we cannot say that why C of x is not binary anymore right in the BCH case was binary so when you square it got this so you notice immediately all these two T syndromes are going to be independent okay there will be different you might have to use all of them to decode what error actually happened okay so like before as in the BCH case we will now say we will assume W errors happen okay so we'll suppose we'll suppose that some the W symbol errors happened at positions i1 i2 so on till i2 okay so let's like the BCH case once I say this I can use a sufficiently simple form for e of x what form will e of x take them okay see in the BCH case it was simply x to the power i1 plus x to the power i2 now I can't just say that because I'll have a coefficient for this which is from f2 power m so I'll say it's y1 x to the power i1 plus y2 x to the power i2 so on till yw x to the power iw so what is the job of the decoder the job of the decoder in the BCH case was simply to find i1 through iw here you have to find i1 through iw and y1 through y1 you have to do both okay so you'll have to find i1 through iw as well as y1 through yw okay so now we use this form of e of x in the syndrome equations you will get a bunch of equations which look like this okay s1 equals y1 x1 plus y2 x2 plus so on till yw xw okay so I'll have to say what these x's are is again the same as before xi xj okay so since I'm using i1 there xj will be what alpha power ij okay so same thing as so the BCH case once I do that s2 will become y1 x1 squared plus y2 x2 squared so on till yw xw squared okay so all the way down to s2t which is y1 x1 part 2t plus y2 x2 part 2t so on till yw xw part okay those are my actual set of equations I have 2t equations how many variables do I have 2w variables and hopefully if w is less than t one can say 2w is less than 2t so I should be able to decode I should be able to solve right this look like simple equations okay but but notice this man there's a certain subtlety here right so the way it has worked out if you remember when we when I discussed the syndrome equations right what did we have to do suppose you knew the number of errors where w okay to find the smallest weight syndrome some smallest weight code code word that could have okay sorry smallest weight error vector that could have given you the syndrome you had to do only a the only way out was a brute force search so you had n choose w possibilities and you had to search all of them to get that that error vector which would have given you the particular syndrome here instead of doing that search maybe there is a smart way of solving this set of equations okay so that's the difference between the reach Solomon code and a regular binary code okay reach Solomon code has so much structure in it that maybe there is a smarter way of solving these equations without doing brute force if you do brute force then yeah I won't you won't get anything any advantage here maybe there's a smart algebraic way of manipulating these equations converting them into a handleable form which will give you the simpler solution okay so that's the way in which the idea progresses but it's not clear that there will be a simple form to solve these equations okay you know the syndromes but look at this it's a highly non-linear equation right from x1 through x1 part 2t in y1 it's okay it's linear right but in x1 it's very non-linear okay so usually when you have these kind of situations typically the solution is some I mean nothing short of brilliant right I mean you have to do some substitution some vague substitution here something here something there suddenly you will get linear equations okay at the end of the day the only thing we can solve is what linearity okay so there's nothing else that you can solve very easy okay so you do a lot of trick here okay so the one of the most beautiful tricks you'll see in well actually in many areas is the substitution okay there is a substitution here which will make this set of equations linear okay so it's got to do it's got connections with power sums and symmetric polynomials it's got it's called the classic Newton's identities you might have seen it sometime in your life before but you've not seen it it's a very nice way of very nice way of doing the substitution okay so the substitution is as follows okay so I'm going to I'm going to define a polynomial which I will call these are called error locators right you remember okay I'm going to define something called an error locator polynomial okay I will call it lambda of x by the way most of this this type of this development I've taken mostly from a book by Richard Blahut take Blahut okay algebraic codes for data transmission that's the book okay I don't think there's a cheap edition available but the library has copies you can you can see that okay so so the substitution is as follows okay so you do this I'm going to define a polynomial as follows okay so I'm doing it for characteristic 2 so it's actually should be minus I'm going to make it plus okay x1 x1 plus x2 x so until 1 plus xw x okay so this is the polynomial okay so if I actually multiply and simplify okay what will be the what will I get I'll actually get a degree or what will be the degree of this polynomial w right I'll get a degree w polynomial I'll call the first coefficient will be one right the constant term will be one right there's all one throughout and then the other coefficients will be functions of what x1 x2 through xw okay so that first function I'm going to call as lambda 1 lambda 1 is very easy what is lambda 1 x1 plus x2 okay so it will get more complicated you will get the other the elementary symmetric polynomials as they are called it's a little bit more tricky but you will get it x squared so until again lambda w will be will be the easiest one next okay what is lambda w x1 x2 okay so the substitution you have to make is this you have to substitute excess for the lambdas okay but how do you do it I mean it seems like a very it's a highly non-trivial substitution usually you make some simple substitutions it's a very non-trivial substitution okay instead of excess you're going to use lambdas okay so how you actually do the substitution is also quite non-trivial I'll show you how that's done okay to think about how to do this it's good to define something called a syndrome polynomial okay so I'll call it a syndrome polynomial okay which will be s1x plus s2x squared plus so on till s2t x power 2t okay so so if you actually expand this out what am I going to get I'm going to get x1x plus x2x plus xwx then x1 squared x squared x2 squared x2 squared so on till xw squared x squared and then you'll have series of powers and then finally x1 power 2t x power 2t plus x2 power 2t x power 2t plus xw power 2t small x power okay so this is this is how s of x will look to actually affect this substitution instead of excess replace them with lambdas you have to multiply s of x with lambda of x and observe some simplification okay don't tell me how somebody came up uh don't ask me how somebody came up with this okay this came up with it maybe they came up with it using other means and this is the simplest way of explaining it okay yas will remain oh I'm sorry I'm sorry the yas should be here I'm sorry they don't go anywhere okay the yas will remain exactly as it is okay so I think thanks for reminding me of this is it clear okay so to affect this substitution as I said to make it happen you have to multiply s of x with lambda x okay okay so so what will happen is in this sx times lambda of x lot of coefficients will not appear okay so what is the degree here the degree here is w what's the degree here degree 2t right so what will the what what degree will you expect for s of s of x times lambda of x 2t plus w it turns out it won't have such terms okay you can show there'll be a lot of terms in this s of x times lambda of x which will go to 0 okay well the degree might be 2t plus w but there'll be lot of other terms from w plus 1 to 2t okay all those terms will disappear in this product okay and those will give you nice linear equations in terms of the coefficients of s of x and lambda of x right see the if you do a product of s of x and lambda of x you'll get coefficients those coefficients if you say 0 you'll get linear equations very nicely okay so that's the that's the big logic here so let's see let's try to see the multiplication and how it works okay so what's going to happen I'm going to multiply this guy okay this nasty looking guy with what with 1 plus sorry 1 plus x 1x times 1 plus x 2x so until 1 plus x wx this is what I'm going to multiply with okay so I'll try to multiply column by column okay so I'm going to take this 1 plus lambda x 1x and multiply it to the first column what do you think will happen okay so there'll be lots of cancellation okay remember this this just goes as right so when you multiply it to the first column there'll be lots of cancellations okay do you see that maybe I'll do that right here okay so you're getting y 1 times x 1x plus x 1 square x squared plus so on till x 1 part 2t x part 2t multiplied with 1 plus x 1x what will this be okay right this is almost like a GP some type thing no okay do this I mean if you're confused do this don't just stare at it and expect something to follow do this multiplication you'll see a lot of terms will cancel it'll cancel what will be the only term you'll get 1 plus x 1 part 2t plus 1 and x power 2t plus okay is that clear okay I'm sorry no no no there are other terms that I'm multiplying you have to retain all that okay okay so oh yeah I'm sorry yeah so there's no one no there's no one at all it's just this x 1x sorry okay is that clear okay so now to the second column what should I multiply in this whole sequence the second column I should multiply with 1 plus x 2x I'll again get a similar expression third column I'll multiply with 1 plus x 3x so on okay okay so that is one simplification but each of these things have to be multiplied by the remaining things also okay right so even if you do that what is the degree that you will get okay so look at what happens here this is what w minus 1 okay so when I multiplied you get 2t plus 1 and 1 okay so there's no way you will get degree w plus 1 to degree 2t okay so that is the claim here okay so we'll get some polynomial okay with coefficients well with coefficients from whatever this functions of yi xi etc okay but but what is the significant but here okay x bar w plus 1 to x power 2t will not be there okay we'll be upset okay this is the most critical and interesting observation why will you multiply these two columns you're multiplying s of x with lambda of x I'm not multiplying s of x with itself all those things will be there they will multiply but only w minus 1 you'll only get w or 2t plus 1 plus uh those kind of things you'll never get w plus 1 to 2t those degree terms will not be there okay so it's I mean I can write down the whole expression and actually show you that's how it will work but I'm it's a little bit boring I don't want to do it we don't have too much time also check this on your own it's very easy it's a very simple multiplication you can check that then this in this product x bar w plus 1 to x bar 2t will not be there all those terms will become will have coefficients 0 okay so I gave you a simple argument to see that but do that multiplication and you can check it okay so you'll see that those terms cannot be there okay so what do I get okay this set of equations which set of equations okay okay let me mark it out for you my set of syndrome equations my set of syndrome equations okay is equivalent to what s of x lambda of x having coefficients of x bar w plus 1 to x bar 2t uh having okay I'm sorry having 0 as coefficients of x bar w plus 1 to x bar 2t okay and what is the substitution here let me remind you what the substitution was lambda of x is 1 plus x 1 x dot dot dot 2 1 plus x w x okay so those two are equivalent okay so yeah yeah well maybe maybe he's right so maybe I should just say this is this do you agree okay for w less than t you can show you go back the other way also in the only case you can't do okay so this will imply this I think I mean I'm maybe maybe I can work with it and get something more out of it but anyway this is this is good enough for me okay from here I did the substitution I got this okay so this is what I actually did let me not say anything let me not claim anything more it's possible to view these equations very closely and get some more information but this is enough for us okay so now let's look at these coefficients in this product and try to get expressions for them you will see those expressions will be linear in lambda you can solve for those things okay so let me do that what is s of x times lambda of x it's actually s 1 x plus s 2 x squared plus s 3 x power 3 so on till I'll put down the w minus 1 the 2t minus 1 term just because I might need at some point okay I'll just put 2t it's okay you can see what it is 1 plus lambda 1 x plus lambda 2 x squared plus so on till lambda w that is the product okay so I need to figure out the coefficient of x power omega plus 1 to x power 2t in this product and equate it to 0 to get my equations okay those are my that's my equations okay so what's the coefficient of x power w plus 1 what's the coefficient of x power w plus 1 s w plus 1 will appear by itself plus what s w times lambda 1 plus s w minus 1 times lambda 2 plus so on till where will it stop s 1 lambda w should be 0 okay there you go I got a linear equation okay it's a lot of work but from those ugly looking equations I've got a linear equation which I can definitely solve okay then x power w plus 2 it's going to become s w plus 2 plus s w plus 1 lambda 1 is w lambda 2 so on till so on till what s 2 lambda 1 am I right I'm sorry lambda w 0 okay so till where can I go x power 2t right so let's go to x power 2t okay so let me let me stop but let me let me do one more point I'll do s x power 2 w okay assuming it's less than 2t okay so this will I'll write it for assuming 2 w is less than t I'll do x power 2 w also okay so w is greater than t it will go off somewhere and then a little bit confusing so we'll do it and assuming w is less than t what will you get s 2 w plus s 2 w minus 1 lambda 1 s 2 w minus 2 lambda 2 and then all the way till s w lambda w equals 0 okay assuming this is assuming only w is less than t okay so I'm saying w is then or equal to t and s 2t I'll write down if you want I mean x power 2t I'll write down if you want okay so you'll see x power 2t and all that will not be very significant I'm sorry why will w be less than or equal to t see see w comes from where do I fix do I get to fix w no w is something from the channel okay right so w comes from some degree distribution okay so I'm not some probability distribution okay I'm not going to say anything I might make an assumption that w has to be less than t for successful successful decoding that's different okay but I cannot guarantee that w will be less than t yes you can you can do that from that somewhere the distribution that's induced by binary symmetric channel you won't get w less than t so if you want you can write up to x power 2t but you'll see only these w equations are significant so I'll stop here okay if you want you can write this okay so what so now you have w variables the lambda 1 through lambda w and how many equations I've written down w equations I can write it in a nice square matrix form okay so let me do that did I get this right is this w it's w no okay so if you write that in that form you'll get this nice looking matrix which is starts at sw it's w minus 1 go on till s1 then sw plus 1 sw s2 all the way down to s2 w minus 1 s did I get that right 2w minus 1 is it right 2w 2w it's actually yeah it should be 2w plus 1 no did I make a mistake here it starts with oh it starts with w plus 1 yeah you're right you're right you're right you're right you're right some mistake I made I knew okay okay okay okay okay oh it starts with w plus 1 yeah something should something that went wrong you knew something went wrong okay so it ends at s2 no ends at s1 no no no that can't be right I have to get a square matrix why am I not getting a square matrix okay sw only man it's correct why are you people are bent on confusing me okay that's correct it's correct I'm gonna write yeah it's 2w minus 1 only 2w minus 2 all the way to sw and then I'm gonna multiply with lambda 1 lambda 2 so that's why it starts at sw not at all not sw plus 1 lambda w I'll move the other guys to right hand side okay now you will get sw plus 1 sw plus 2 all the way to s2 okay is that clear so from those nasty looking powers some equations we have come to our most familiar ax equals b okay which is the only thing we can solve we can solve when when can we solve this yeah it's non-single and this matrix is non-singular you can nicely get a unique solution and you'll go back to the nearest code what if you want okay so non-singular you'll satisfy wait non-singular implies solvable yeah it's it's right so all these things have to be looked at very carefully when will it be singular does it yeah you can show all those things once it solves this it will solve the domain okay but anyway so this is this was a very significant achievement in the 60s decoders like this which made decoding possible you know I mean you can correct 16 errors 8 errors very easily I mean previously that was those things were pretty much impossible by brute force now even for such large block lengths one can imagine having a decoder right so this is not hard solving linear equations even though it's over f2 power m you know you can have tables and do the inversion and all that inverting matrices over Galois fields it's not too hard I mean at least you can do it it's not unimaginably hard like the brute force search okay so this was a very significant achievement in classical coding theory being able to decode the reach Solomon code in fact a significant improvement to this decoder in terms of correcting errors happened only very recently like some 10 years back okay so based on some list decoding ideas okay so it took a long time and again at the heart of that there's one very nice way of algebraically solving equations and it was actually done by a student of IIT Madras during his PhD time okay so well if you want more inspiration to do such things you can you can do this not here but he did it in MIT but that's the difference for you anyway but at least he was did his bachelor's from here okay so so that's the that's the long and short of it and what about what about singularity of this matrix and when do you know it's singular and another problem is what about W right you don't know W right that was also a variable that was that was it's really unknown from the very beginning I didn't really talk too much about it but it is an unknown variable and it turns out finding W and the singularity of this matrix are closely connected okay so one can show this very interesting result okay and can show use this result is very interesting again you use you use some very simple ideas to prove this result if you look at this matrix S mu okay if you look at this matrix okay for mu equals W W plus one all the way to t 2t t or 2t t I'm sorry t all the way to t okay it turns out in all these cases okay suppose I call this M mu okay in all these cases M mu is singular and what happens when mu equals W M mu is M mu is non-singular okay so this gives you an algorithm to find W when W is less than or equal to t how will you do it quite how you do it exactly start from mu equals t look at this matrix find its determinant if it is zero what do you do reduce mu by one till it becomes non-zero okay the moment it becomes non-zero you know that's where that's where the that's exactly the number of errors and at that point exactly this matrix becomes invertible so you invert it and find your lambda one through lambda W okay lambda one through lambda W can be found and then from there maybe we can go back to x one through x I'll tell you how to go back there at least lambda one through lambda W we can find do you have a question t by t yeah start with t by t keep on going down till you get a non-zero determinant okay so that's the PGC that's how the PGZ algorithm finds the number of errors okay so okay so one can argue that this is a complicated method you have to do larger and larger determinants so in practice nobody does this people use the Bullycam, Massey or the Euclidean algorithms other methods for decoding read Solomon codes which are much simpler in terms of implementation costs but the essential idea is exactly the same okay so they would do something similar to this S of x times lambda of x use the fact that those coefficients are zero but they use it in a very smart way to simplify the calculations but essentially the method is finding lambda of x from the syndrome equations yeah how do you find lambda of x okay so now we have found lambda of x but is the problem solved no we have to actually find the x's and the y's right remember that's our original problem okay we have found lambda of x the problem is not solved the next step is what you have to go from lambda i's to x i's and y i's okay that's the next step yeah exactly so how do you go from lambda to x i what is lambda of x it's actually 1 plus x 1 x 1 plus x 2 x so on till 1 plus x w x so will you go from lambda to x you have to find its roots over f 2 power m okay so you notice x i inverse is what is the root of lambda of x in f 2 power m okay so that's how that's what you do okay so you will have a degree w polynomial here and you can expect it to have w roots in f 2 power m okay it should have if everything works out right it should exactly have w roots in f 2 power m find all of them how do you find them exhaustive search and even today in practical applications people who build these things in chips and all that do exhaustive search there's nothing really there's no alternative yeah i'm gonna talk about all these things later on as we go along okay so the way we assumed it where we developed the problem you should get w distinct roots for lambda of x in f 2 power m you should get because those were errors and all of them were formed if you don't get then there is something wrong okay we'll see we'll see what can go wrong okay so we'll see okay so this is how you go from lambda to x and as I said it's this is considered the most expensive step in the natural implementation okay so finding the roots is usually very very hard okay and then how do you go to the y's yeah they are linear in y right you go back to the original equations you'll see it was actually linear in y okay so maybe if I can paste it we'll see can I do I don't think I can paste the older selection okay which is quite sad but anyway it doesn't matter no why do you want to know what is x1 what is x2 those are all the errors you go flip them that's all don't care corresponding y's is what you have to find it's all okay so finding y's this can be found by a linear equation okay so anyway yi is where linear in original set okay given given xi is the the original equations become linear right linear in yi okay so there's no real problem so you can just go back substitute it there and invert and find the yi's so you have found both x's and y's you can now go and flip the ith position right what position how will you find the position of the error no from xi alpha power something that power is the actual location go to that location take that symbol xor it with yi you will get your you'll get your the code okay so e hat of x is summation yi x to the power I don't know I think I put i is there no so it should be j okay yj ij okay j equals 1 to w and then you write down c hat of xs r of x plus e hat of okay so maybe I should have put a capital e here okay you want you want a capital e you don't like a small e okay okay that's fine so once you find this so how do you find these ij's you remember so xi's are xj is what alpha power ij okay so that's how you find the ij's okay so I will stop here I'll come back and give you some examples and some simple fields we'll see how it works it's a little bit difficult to do examples and that'll be next week okay and next week okay so let me stop how do I stop