Reorganized for clarity.