created a doubly linked generic circular list and damn am I happy with that