kernel list data structure