Use list in kernel instead. (incomplete)