Add push, pop, and shift (unshift incomplete)