avoid use next, and make linked list with only nodes