restucture for clarity