basic data structures for the kernel