Add tests and benchmarks (it's slow..)