Reorganized for clarity