base the project struture on linux kernel. closes #3