implement linkedlist_internal.hpp