re-org into components based scaffold