Rewrite of list library. Now has seperate header and list_entry