Re-organized for clarity