looks like the Chain linked list actually gets allocated and freed correctly