Modified push function, still singlethreaded