lazy branching and using proper states and views rather than modals