huge changes to kernel and stuff-also fixed up Makefile