changed pop_front to not fragment if it doesnt need to