new page UI (no backend)