Cleanup .  next steps are push/pop/insert/remove API optimizations