fix pop vs shift bug