moveable support for push
pop can move
faster multithreaded code