All code now works and is complete. See JM_changelog.