experimental refactoring to see what app-from-scratch would look like