push, peek and clear. + tests + benchmarks