traverses entire list