update to use linkedlist for infinite category and item