3 part OS kernel project