diff --git a/COMMENTS.md b/COMMENTS.md
index 7fe6aa7..5e6d335 100644
--- a/COMMENTS.md
+++ b/COMMENTS.md
@@ -1 +1,31 @@
-
+# Comments
+
+## Implementation notes
+
+### Data fetching & pagination
+
+- Replaced the hard-coded fixture with real API calls to `/api/applications`.
+- Implemented pagination using `?_page` and `?_limit=5` as required.
+- The "Load more" button fetches the next page and appends results to the existing list.
+- Used the `Link` response header (`rel="next"`) to determine whether more pages exist and conditionally render the button.
+
+### Architecture
+
+- Extracted API logic into `src/api/applications.ts` to keep components focused on UI and make the fetch logic easier to test.
+- Added a shared `Application` TypeScript type for stronger typing across components.
+- Kept `SingleApplication` as a presentational component only.
+
+### UX considerations
+
+- Loading state shown during fetches.
+- Button disabled while loading to prevent duplicate requests.
+- Basic error message shown if requests fail.
+- Added responsive layout for mobile screens.
+
+### Testing
+
+- Added Vitest + React Testing Library tests for:
+ - API helper (`fetchApplications`)
+ - Initial render
+ - Pagination behaviour (append + hide button when no next page)
+ - Error state
diff --git a/src/Aplications.module.css b/src/Aplications.module.css
deleted file mode 100644
index e69de29..0000000
diff --git a/src/App.css b/src/App.css
deleted file mode 100644
index 2d26ac5..0000000
--- a/src/App.css
+++ /dev/null
@@ -1,34 +0,0 @@
-.App-logo {
- height: 40vmin;
- pointer-events: none;
-}
-
-@media (prefers-reduced-motion: no-preference) {
- .App-logo {
- animation: App-logo-spin infinite 20s linear;
- }
-}
-
-.App-header {
- background-color: #282c34;
- min-height: 100vh;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- font-size: calc(10px + 2vmin);
- color: white;
-}
-
-.App-link {
- color: #61dafb;
-}
-
-@keyframes App-logo-spin {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(360deg);
- }
-}
diff --git a/src/App.test.tsx b/src/App.test.tsx
index 4db6ab8..0b3c181 100644
--- a/src/App.test.tsx
+++ b/src/App.test.tsx
@@ -1,8 +1,15 @@
-import { render, screen } from '@testing-library/react';
-import App from './App';
+import { render, screen } from "@testing-library/react";
+import { vi } from "vitest";
+import App from "./App";
+
+vi.mock("./api/applications", () => ({
+ fetchApplications: vi.fn().mockResolvedValue({
+ data: [],
+ hasNext: false,
+ }),
+}));
test('renders "Application Portal" title', () => {
render(
+ {error} +
+ )} + + {isInitialLoading ? ( +Loading applications…
+ ) : ( +