Possibly done with kthread [no testing done yet, but it compiles]