seperate terminal driver from kernel.c