more refactoring to make it arduino-friendly
got things working with local linked_list.h