Partial work for mhl; still more stuff to do.