Surprisingly, one of the times that it is common NOT to comment very verbosely is when the algorithm used is in fact VERY complex. In this case it's generally assumed that the code is documented extensively EXTERNALLY (like, in books, papers, patents, and so on.) For example, I've never seen anyone attempt to extensively comment a routine that calculates CRCs (either bitwise or bytewise.) Your program is NOT the place to explain why a series of shifts and xors ends up producing coefficients for a polynomial... BillW