kernel data structures