I mistakenly wrote: for charIndex = startIndex, #payLoad do local char = payLoad:subs(charIndex, charIndex) of course it should have been sub() my program silently hung - is this an expected consequence of this sort of misspelling? David