diff --git a/src/routers/api.js b/src/routers/api.js
index 1953df3..81d7bbb 100644
--- a/src/routers/api.js
+++ b/src/routers/api.js
@@ -7,8 +7,7 @@ const axios = require ('axios');
 const {BN, BN_ONE, BN_ZERO, BN_MILLION, hexToU8a} = require("@polkadot/util")
 const config = require("../../config");
 const generateCertificate = require('./generate-certificate')
-const { fetchAllCongressSpendings } = require('../utils/spendings');
-const { getLastWeekEraPaidEvents } = require("../utils/explorer");
+const { getLastWeekEraPaidEvents, fetchAllCongressSpendings } = require("../utils/explorer");
 const { stringify } = require('csv-stringify/sync');
 const pako = require('pako');
 
diff --git a/src/utils/explorer.js b/src/utils/explorer.js
index 5376a8f..594c45f 100644
--- a/src/utils/explorer.js
+++ b/src/utils/explorer.js
@@ -3,35 +3,160 @@
 const axios = require("axios");
 const config = require("../../config");
 
+const CONGRESS_ADDRESS = "5EYCAe5g8CDuMsTief7QBxfvzDFEfws6ueXTUhsbx5V81nGH";
+
 const eraPaidEventsQuery = `
 query EraPaidEvents {
-  events(
-    orderBy: BLOCK_NUMBER_DESC,
-    first: 28,
-    filter: {
-      method: { equalTo: "EraPaid" },
-      section: { equalTo: "staking" }
-    }
-  ) {
-    nodes {
-      data
-    }
-  }
+	events(
+		orderBy: BLOCK_NUMBER_DESC,
+		first: 28,
+		filter: {
+			method: { equalTo: "EraPaid" },
+			section: { equalTo: "staking" }
+		}
+	) {
+		nodes {
+			data
+		}
+	}
 }
 `;
 
 const getApi = () => axios.create({
-  baseURL: config.EXPLORER_API_URL,
+	baseURL: config.EXPLORER_API_URL,
 });
 
 
 const getLastWeekEraPaidEvents = async () => {
-  const { data } = await getApi().post('', {
-    query: eraPaidEventsQuery
-  });
-  return data.data.events.nodes.map(v => v.data);
+	const { data } = await getApi().post('', {
+		query: eraPaidEventsQuery
+	});
+	return data.data.events.nodes.map(v => v.data);
 };
 
+
+async function queryAllPages(query, variables, key) {
+	let allData = [];
+	let after = undefined;
+	while (true) {
+		const result = await fetch(config.EXPLORER_API_URL, {
+			method: "POST",
+			headers: {
+				"Content-Type": "application/json",
+			},
+			body: JSON.stringify({ query, variables: { after, ...variables } }),
+		});
+		const data = await result.json();
+		allData.push(data.data[key].nodes);
+		if (data.data[key].pageInfo.hasNextPage) {
+			after = data.data[key].pageInfo.endCursor;
+		} else {
+			break;
+		}
+	}
+	return allData;
+}
+
+async function getLLMSpendings() {
+	const data = await queryAllPages(
+		`
+		query LLM($after: Cursor, $userId: String) {
+			merits(first: 50, after: $after, filter: { fromId: { equalTo: $userId } }) {
+				nodes {
+					id
+					toId
+					value
+					remark
+					block {
+						number
+						timestamp
+					}
+				}
+				pageInfo {
+					hasNextPage,
+					endCursor
+				}
+			}
+		}
+		`,
+		{ userId: CONGRESS_ADDRESS },
+		"merits"
+	);
+	return data.flat().map((v) => ({ asset: "LLM", ...v }));
+}
+
+async function getAssetsSpendings() {
+	const data = await queryAllPages(
+		`
+		query Assets($after: Cursor, $userId: String) {
+			assetTransfers(first: 50, after: $after, filter: { asset: { notEqualTo: "1" }, fromId: { equalTo: $userId } }) {
+				nodes {
+					id
+					asset
+					toId
+					value
+					remark
+					block {
+						number
+						timestamp
+					}
+				}
+				pageInfo {
+					hasNextPage,
+					endCursor
+				}
+			}
+		}
+		`,
+		{ userId: CONGRESS_ADDRESS },
+		"assetTransfers"
+	);
+	return data.flat();
+}
+
+async function getLLDSpendings() {
+	const data = await queryAllPages(
+		`
+		query LLD($after: Cursor, $userId: String) {
+			transfers(first: 50, after: $after, filter: { fromId: { equalTo: $userId } }) {
+				nodes {
+					id
+					toId
+					value
+					remark
+					block {
+						number
+						timestamp
+					}
+				}
+				pageInfo {
+					hasNextPage,
+					endCursor
+				}
+			}
+		}
+		`,
+		{ userId: CONGRESS_ADDRESS },
+		"transfers"
+	);
+	return data.flat().map((v) => ({ asset: "LLD", ...v }));
+}
+
+async function fetchAllCongressSpendings() {
+	const allSpendings = [
+		await getLLDSpendings(),
+		await getLLMSpendings(),
+		await getAssetsSpendings(),
+	]
+		.flat()
+		.sort((a, b) =>
+			parseInt(a.block.number) > parseInt(b.block.number) ? -1 : 1
+		);
+
+	return allSpendings;
+}
+
 module.exports = {
-  getLastWeekEraPaidEvents,
+	fetchAllCongressSpendings,
+	getLastWeekEraPaidEvents,
 }
\ No newline at end of file
diff --git a/src/utils/spendings.js b/src/utils/spendings.js
deleted file mode 100644
index 4f10b7d..0000000
--- a/src/utils/spendings.js
+++ /dev/null
@@ -1,128 +0,0 @@
-const config = require("../../config");
-
-const CONGRESS_ADDRESS = "5EYCAe5g8CDuMsTief7QBxfvzDFEfws6ueXTUhsbx5V81nGH";
-
-async function queryAllPages(query, variables, key) {
-	let allData = [];
-	let after = undefined;
-	while (true) {
-		const result = await fetch(config.EXPLORER_API_URL, {
-			method: "POST",
-			headers: {
-				"Content-Type": "application/json",
-			},
-			body: JSON.stringify({ query, variables: { after, ...variables } }),
-		});
-		const data = await result.json();
-		allData.push(data.data[key].nodes);
-		if (data.data[key].pageInfo.hasNextPage) {
-			after = data.data[key].pageInfo.endCursor;
-		} else {
-			break;
-		}
-	}
-	return allData;
-}
-
-async function getLLMSpendings() {
-	const data = await queryAllPages(
-		`
-		query LLM($after: Cursor, $userId: String) {
-			merits(first: 50, after: $after, filter: { fromId: { equalTo: $userId } }) {
-				nodes {
-					id
-					toId
-					value
-					remark
-					block {
-						number
-						timestamp
-					}
-				}
-				pageInfo {
-					hasNextPage,
-					endCursor
-				}
-			}
-		}
-		`,
-		{ userId: CONGRESS_ADDRESS },
-		"merits"
-	);
-	return data.flat().map((v) => ({ asset: "LLM", ...v }));
-}
-
-async function getAssetsSpendings() {
-	const data = await queryAllPages(
-		`
-		query Assets($after: Cursor, $userId: String) {
-			assetTransfers(first: 50, after: $after, filter: { asset: { notEqualTo: "1" }, fromId: { equalTo: $userId } }) {
-				nodes {
-					id
-					asset
-					toId
-					value
-					remark
-					block {
-						number
-						timestamp
-					}
-				}
-				pageInfo {
-					hasNextPage,
-					endCursor
-				}
-			}
-		}
-		`,
-		{ userId: CONGRESS_ADDRESS },
-		"assetTransfers"
-	);
-	return data.flat();
-}
-
-async function getLLDSpendings() {
-	const data = await queryAllPages(
-		`
-		query LLD($after: Cursor, $userId: String) {
-			transfers(first: 50, after: $after, filter: { fromId: { equalTo: $userId } }) {
-				nodes {
-					id
-					toId
-					value
-					remark
-					block {
-						number
-						timestamp
-					}
-				}
-				pageInfo {
-					hasNextPage,
-					endCursor
-				}
-			}
-		}
-		`,
-		{ userId: CONGRESS_ADDRESS },
-		"transfers"
-	);
-	return data.flat().map((v) => ({ asset: "LLD", ...v }));
-}
-
-async function fetchAllCongressSpendings() {
-	const allSpendings = [
-		await getLLDSpendings(),
-		await getLLMSpendings(),
-		await getAssetsSpendings(),
-	]
-		.flat()
-		.sort((a, b) =>
-			parseInt(a.block.number) > parseInt(b.block.number) ? -1 : 1
-		);
-
-	return allSpendings;
-}
-
-module.exports = {
-	fetchAllCongressSpendings,
-};