adding files and consolidating the benchmark function