change to always use popleft