diff --git a/sysdata/programs/rtc_driver/README.md b/sysdata/programs/rtc_driver/README.md
new file mode 100644
index 00000000..fcdbc3f0
--- /dev/null
+++ b/sysdata/programs/rtc_driver/README.md
@@ -0,0 +1 @@
+# rtc_driver
\ No newline at end of file
diff --git a/sysdata/programs/rtc_driver/meta.toml b/sysdata/programs/rtc_driver/meta.toml
new file mode 100644
index 00000000..0bc58c10
--- /dev/null
+++ b/sysdata/programs/rtc_driver/meta.toml
@@ -0,0 +1,11 @@
+[package]
+name = "rtc_driver"
+authors = [""]
+
+[dependants.libraries]
+
+[dependants.binaries]
+hblang.version = "1.0.0"
+
+[build]
+command = "hblang src/main.hb"
diff --git a/sysdata/programs/rtc_driver/src/main.hb b/sysdata/programs/rtc_driver/src/main.hb
new file mode 100644
index 00000000..cac7f945
--- /dev/null
+++ b/sysdata/programs/rtc_driver/src/main.hb
@@ -0,0 +1,12 @@
+stn := @use("../../../libraries/stn/src/lib.hb");
+.{sleep, log, memory} := stn
+
+main := fn(): int {
+	loop {
+		log.info("BEFORE\0")
+		sleep.sleep_until_interrupt(8)
+		log.info("AFTER\0")
+	}
+
+	return 0
+}
\ No newline at end of file
diff --git a/sysdata/programs/tempfs/README.md b/sysdata/programs/tempfs/README.md
new file mode 100644
index 00000000..922a5c3b
--- /dev/null
+++ b/sysdata/programs/tempfs/README.md
@@ -0,0 +1,2 @@
+# tempfs
+A ram backed filesystem for ableOS.
\ No newline at end of file
diff --git a/sysdata/programs/tempfs/meta.toml b/sysdata/programs/tempfs/meta.toml
new file mode 100644
index 00000000..afc65ec3
--- /dev/null
+++ b/sysdata/programs/tempfs/meta.toml
@@ -0,0 +1,11 @@
+[package]
+name = "tempfs"
+authors = [""]
+
+[dependants.libraries]
+
+[dependants.binaries]
+hblang.version = "1.0.0"
+
+[build]
+command = "hblang src/main.hb"
diff --git a/sysdata/programs/tempfs/src/main.hb b/sysdata/programs/tempfs/src/main.hb
new file mode 100644
index 00000000..55ef42e3
--- /dev/null
+++ b/sysdata/programs/tempfs/src/main.hb
@@ -0,0 +1,12 @@
+stn := @use("../../../libraries/stn/src/lib.hb");
+.{sleep} := stn
+
+main := fn(): int {
+	tmpfs_buffer := buffer.create("TmpFS\0")
+	loop {
+		// TODO
+		// sleep.sleep_until_buffer(tmpfs_buffer)
+	}
+
+	return 0
+}
\ No newline at end of file
diff --git a/sysdata/programs/test/src/tests/stn/allocators.hb b/sysdata/programs/test/src/tests/stn/allocators.hb
index 8b194b7f..ac23ef33 100644
--- a/sysdata/programs/test/src/tests/stn/allocators.hb
+++ b/sysdata/programs/test/src/tests/stn/allocators.hb
@@ -6,25 +6,25 @@ AStruct := struct {
 }
 
 test := fn(): uint {
-	// alloc := allocators.FakeAlloc.init()
-	// astruct := alloc.alloc(AStruct, 2)
-	// if astruct.ptr != null{
-	// panic.panic("FakeAlloc actually allocated.")
-	// }
-	// alloc.dealloc(&astruct.ptr, AStruct, 2)
-	// alloc.deinit()
+	alloc := allocators.FakeAlloc.init()
+	astruct := alloc.alloc(AStruct, 2)
+	if astruct.ptr != null {
+		panic.panic("FakeAlloc actually allocated.")
+	}
+	alloc.dealloc(&astruct.ptr, AStruct, 2)
+	alloc.deinit()
 
 	balloc := allocators.BlockAlloc.init()
-	// defer {
-	// 	balloc.deinit()
-	// }
+	defer {
+		balloc.deinit()
+	}
 	bstruct := balloc.alloc(AStruct, 2)
-	// if bstruct.ptr == null {
-	// 	log.info("Hi\0")
-	// 	// panic.panic("BlockAlloc actually didn't allocate.")
-	// } else {
-	// 	log.info("Allocator functioned.\0")
-	// }
-	// balloc.dealloc(bstruct_ptr, AStruct, 2)
+	if bstruct.ptr == null {
+		log.info("Hi\0")
+		// panic.panic("BlockAlloc actually didn't allocate.")
+	} else {
+		log.info("Allocator functioned.\0")
+	}
+	balloc.dealloc(&bstruct.ptr, AStruct, 2)
 	return 0
 }
\ No newline at end of file