switched to use fixed head and tail nodes