diff --git a/src/lib/server/database/entities/MrX.entity.ts b/src/lib/server/database/entities/MrX.entity.ts
index 2095160a611fd3af1d86ae5d1b4675232853655c..bafad280338d71b5c13536428b3b12fb8b5f95ef 100644
--- a/src/lib/server/database/entities/MrX.entity.ts
+++ b/src/lib/server/database/entities/MrX.entity.ts
@@ -15,7 +15,7 @@ export class MrXEntry {
 		return (await sql`INSERT INTO mrx_entries ${sql(entry)} RETURNING id`)[0].id;
 	}
 	static async update(id: number, entry: Partial<MrXEntry>): Promise<void> {
-		await sql`UPDATE mrx_entries SET ${sql(entry)} WHERE id = ${id}`;
+		await sql`UPDATE mrx_entries SET ${sql(entry)} WHERE id=${id}`;
 	}
 	static async delete(id: number): Promise<void> {
 		await sql`DELETE FROM mrx_entries WHERE id = ${id}`;
@@ -33,7 +33,7 @@ export class MrX {
 		m.entries = (data.entries as any[] || [])
 				.map(e => MrXEntry.parse(e))
 				.filter(e=>!!e)
-				.sort((a,b)=>a.time.getTime()-b.time.getTime());
+				.sort((a,b)=>b.time.getTime()-a.time.getTime());
 		return m;
 	}
 	static async getById(id: number): Promise<MrX|undefined> {
diff --git a/src/routes/(non-admin)/mr-x/[id=number]/data/+server.ts b/src/routes/(non-admin)/mr-x/[id=number]/data/+server.ts
index ce7ee21c1f9f2f341ccbc4dd352f30a0bd14c9dc..f03638a544a423d097378564838e7b51115f9f31 100644
--- a/src/routes/(non-admin)/mr-x/[id=number]/data/+server.ts
+++ b/src/routes/(non-admin)/mr-x/[id=number]/data/+server.ts
@@ -13,10 +13,11 @@ export async function GET(event){
 	if(!mrX) error(404, 'Mr. X not found');
 	const images = await getImages<never>(path.join('mrx', String(id)));
 	const now = new Date();
-	const firstFutureEntryIndex = mrX.entries.findLastIndex(e => e.time <= now) + 1;
+	const lastFutureEntryIndex = mrX.entries.findLastIndex(e => e.time > now);
 	// TODO maybe add next entry time?
-	const entries = mrX.entries.slice(0, firstFutureEntryIndex).map(e => ({
+	const entries = mrX.entries.slice(lastFutureEntryIndex + 1).map(e => ({
 		...e,
+		time: e.time.toISOString(),
 		image: e.image ? images.find(i => i.identifier === e.image) : undefined,
 	}));
 	return new Response(JSON.stringify({ mrX: { ...mrX, entries } } satisfies MrXData));
diff --git a/src/routes/admin/mr-x/[id=number]/+page.server.ts b/src/routes/admin/mr-x/[id=number]/+page.server.ts
index 615929a63fa6d20e7ac395c49b0a999d0b9575bb..bf238bc3aaf8148ac77b9c8f649d3c3df4ee5a51 100644
--- a/src/routes/admin/mr-x/[id=number]/+page.server.ts
+++ b/src/routes/admin/mr-x/[id=number]/+page.server.ts
@@ -27,7 +27,7 @@ export const actions = {
 		const mrX = await MrX.getById(Number(event.params.id));
 		if(!mrX) error(404, 'Mr. X not found');
 		const data = await event.request.formData();
-		const datetime = data.get('datetime');
+		const datetime = data.get('time');
 		const text = data.get('text');
 		const image = data.get('image');
 		if(!datetime || typeof datetime !== 'string') error(400, 'Invalid datetime');
diff --git a/src/routes/admin/mr-x/[id=number]/+page.svelte b/src/routes/admin/mr-x/[id=number]/+page.svelte
index 37091d68bc297646e498f7ecced3fd3515abc400..4cd88eef238aedeeee0552135d423661ca55d94c 100644
--- a/src/routes/admin/mr-x/[id=number]/+page.svelte
+++ b/src/routes/admin/mr-x/[id=number]/+page.svelte
@@ -17,14 +17,14 @@
 <H1>{data.mrX.name}</H1>
 
 <div class="w-full flex flex-col items-center gap-3">
-	{#each data.mrX.entries as entry (entry.id)}
-	<Entry {entry} />
-	{/each}
 	<Card class="w-full max-w-2xl">
-		<form method="post" action="?/new" enctype="multipart/form-data" use:enhance={({formData})=>{
-			const datetime = new Date(formData.get("datetime") as string);
-			formData.set("datetime", datetime.toISOString()); // Convert to ISO string to add timezone information
-			return ()=>invalidateAll();
+		<form method="post" action="?/new" enctype="multipart/form-data" use:enhance={({formData, formElement})=>{
+			const datetime = new Date(formData.get("time") as string);
+			formData.set("time", datetime.toISOString()); // Convert to ISO string to add timezone information
+			return ()=>{
+				formElement.reset();
+				invalidateAll();
+			};
 		}}>
 			<Input name="time" type="datetime-local" class="mb-2" required />
 			<Textarea name="text" class="mb-2" />
@@ -32,4 +32,7 @@
 			<Button type="submit" class="w-full">Erstellen</Button>
 		</form>
 	</Card>
+	{#each data.mrX.entries as entry (entry.id)}
+	<Entry {entry} />
+	{/each}
 </div>