design for the UI and SPA