I'm now attaching a new patch with feedback corrections from everyone in the thread (threads?).