iterator

construct head and tail node
add an iterator class