implement remaining methods
run benchmarks