Removed recursive call
Added benchmarks
Added benchmarks