continued from the original discussion, found here