Reorganized the extension structure