- use shift instead of pop