diff --git a/composables/client.ts b/composables/client.ts
deleted file mode 100644
index 2dbac907..00000000
--- a/composables/client.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import type { MastoClient } from 'masto'
-
-export const useMasto = () => useNuxtApp().$masto.api as MastoClient
-
-export const setMasto = (masto: MastoClient) => {
-  useNuxtApp().$masto?.replace(masto)
-}
diff --git a/composables/command.ts b/composables/command.ts
index e8025f87..b4397eac 100644
--- a/composables/command.ts
+++ b/composables/command.ts
@@ -12,7 +12,6 @@ const scopes = [
   'Navigation',
   'Preferences',
   'Account',
-
   'Languages',
   'Switch account',
 ] as const
diff --git a/composables/time.ts b/composables/i18n.ts
similarity index 57%
rename from composables/time.ts
rename to composables/i18n.ts
index 89bcc891..2e636acc 100644
--- a/composables/time.ts
+++ b/composables/i18n.ts
@@ -1,5 +1,49 @@
+import type { MaybeRef } from '@vueuse/shared'
 import type { MaybeComputedRef, UseTimeAgoOptions } from '@vueuse/core'
 
+const formatter = Intl.NumberFormat()
+
+export const humanReadableNumber = (
+  num: number,
+  { k, m }: { k: string; m: string } = { k: 'K', m: 'M' },
+  useFormatter: Intl.NumberFormat = formatter,
+) => {
+  if (num < 10000)
+    return useFormatter.format(num)
+
+  if (num < 1000000)
+    return `${Math.floor(num / 1000)}${k}`
+
+  return `${Math.floor(num / 1000000)}${m}`
+}
+
+export const formattedNumber = (num: number, useFormatter: Intl.NumberFormat = formatter) => {
+  return useFormatter.format(num)
+}
+
+export const useHumanReadableNumber = () => {
+  const i18n = useI18n()
+  const numberFormatter = $computed(() => Intl.NumberFormat(i18n.locale.value))
+  return {
+    formatHumanReadableNumber: (num: MaybeRef<number>) => {
+      return humanReadableNumber(
+        unref(num),
+        { k: i18n.t('common.kiloSuffix'), m: i18n.t('common.megaSuffix') },
+        numberFormatter,
+      )
+    },
+    formatNumber: (num: MaybeRef<number>) => {
+      return formattedNumber(
+        unref(num),
+        numberFormatter,
+      )
+    },
+    forSR: (num: MaybeRef<number>) => {
+      return unref(num) > 10000
+    },
+  }
+}
+
 export const useFormattedDateTime = (
   value: MaybeComputedRef<string | Date | undefined | null>,
   options: Intl.DateTimeFormatOptions = { dateStyle: 'long', timeStyle: 'medium' },
diff --git a/composables/masto.ts b/composables/masto.ts
index 251d9823..a4a1fb77 100644
--- a/composables/masto.ts
+++ b/composables/masto.ts
@@ -1,7 +1,13 @@
 import type { Ref } from 'vue'
-import type { Account, Relationship, Status } from 'masto'
+import type { Account, MastoClient, Relationship, Status } from 'masto'
 import { withoutProtocol } from 'ufo'
 
+export const useMasto = () => useNuxtApp().$masto.api as MastoClient
+
+export const setMasto = (masto: MastoClient) => {
+  useNuxtApp().$masto?.replace(masto)
+}
+
 // @unocss-include
 export const STATUS_VISIBILITIES = [
   {
diff --git a/composables/numbers.ts b/composables/numbers.ts
deleted file mode 100644
index a5340f54..00000000
--- a/composables/numbers.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import type { MaybeRef } from '@vueuse/shared'
-
-const formatter = Intl.NumberFormat()
-
-export const humanReadableNumber = (
-  num: number,
-  { k, m }: { k: string; m: string } = { k: 'K', m: 'M' },
-  useFormatter: Intl.NumberFormat = formatter,
-) => {
-  if (num < 10000)
-    return useFormatter.format(num)
-
-  if (num < 1000000)
-    return `${Math.floor(num / 1000)}${k}`
-
-  return `${Math.floor(num / 1000000)}${m}`
-}
-
-export const formattedNumber = (num: number, useFormatter: Intl.NumberFormat = formatter) => {
-  return useFormatter.format(num)
-}
-
-export const useHumanReadableNumber = () => {
-  const i18n = useI18n()
-  const numberFormatter = $computed(() => Intl.NumberFormat(i18n.locale.value))
-  return {
-    formatHumanReadableNumber: (num: MaybeRef<number>) => {
-      return humanReadableNumber(
-        unref(num),
-        { k: i18n.t('common.kiloSuffix'), m: i18n.t('common.megaSuffix') },
-        numberFormatter,
-      )
-    },
-    formatNumber: (num: MaybeRef<number>) => {
-      return formattedNumber(
-        unref(num),
-        numberFormatter,
-      )
-    },
-    forSR: (num: MaybeRef<number>) => {
-      return unref(num) > 10000
-    },
-  }
-}
diff --git a/composables/os.ts b/composables/os.ts
deleted file mode 100644
index 69d8f6bd..00000000
--- a/composables/os.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export const useIsMac = () => computed(() =>
-  useRequestHeaders(['user-agent'])['user-agent']?.includes('Macintosh')
-    ?? navigator?.platform?.includes('Mac') ?? false)
diff --git a/composables/utils.ts b/composables/utils.ts
index 06649c1f..e422a4d2 100644
--- a/composables/utils.ts
+++ b/composables/utils.ts
@@ -26,3 +26,6 @@ export function emojisArrayToObject(emojis: Emoji[]) {
 
 export function noop() {}
 
+export const useIsMac = () => computed(() =>
+  useRequestHeaders(['user-agent'])['user-agent']?.includes('Macintosh')
+    ?? navigator?.platform?.includes('Mac') ?? false)
diff --git a/composables/useHead.ts b/composables/workarounds.ts
similarity index 100%
rename from composables/useHead.ts
rename to composables/workarounds.ts