added head iterator