diff --git a/repos/mml/src/app/volatile_cell/target.mk b/repos/mml/src/app/volatile_cell/target.mk
new file mode 100644
index 0000000000..ec6dfc3aae
--- /dev/null
+++ b/repos/mml/src/app/volatile_cell/target.mk
@@ -0,0 +1,3 @@
+TARGET = volatile_cell
+SRC_CC = volatile_cell.cc
+LIBS += base
\ No newline at end of file
diff --git a/repos/mml/src/app/volatile_cell/volatile_cell.cc b/repos/mml/src/app/volatile_cell/volatile_cell.cc
new file mode 100644
index 0000000000..5f866d1cb4
--- /dev/null
+++ b/repos/mml/src/app/volatile_cell/volatile_cell.cc
@@ -0,0 +1,35 @@
+#include
+#include
+#include
+#include
+
+namespace Hoitaja_test {
+ class Volatile_cell;
+}
+
+
+class Hoitaja_test::Volatile_cell
+{
+ private:
+ Genode::Env &_env;
+ Timer::Connection _timer{_env};
+
+ void _handle_timeout()
+ {
+ Genode::log("My time has come. Exiting ...");
+ _env.parent().exit(0);
+ }
+
+ Genode::Signal_handler _timeout_handler{
+ _env.ep(), *this, &Volatile_cell::_handle_timeout};
+
+ public:
+ Volatile_cell(Genode::Env &env) : _env(env)
+ {
+ Genode::log("My affinity space is ", _env.cpu().affinity_space());
+ _timer.sigh(_timeout_handler);
+ _timer.trigger_once(30 * 1000 * 1000);
+ }
+};
+
+void Component::construct(Genode::Env &env) { static Hoitaja_test::Volatile_cell cell(env); }
\ No newline at end of file