removed functional library not needed
diff --git a/include/benchmark/benchmark_api.h b/include/benchmark/benchmark_api.h
index 49167ff..0cb4348 100644
--- a/include/benchmark/benchmark_api.h
+++ b/include/benchmark/benchmark_api.h
@@ -152,7 +152,6 @@
 #include <assert.h>
 #include <stddef.h>
 #include <stdint.h>
-#include <functional>
 
 #include "macros.h"
 
diff --git a/src/complexity.cc b/src/complexity.cc
index 0d6f90b..1b444ce 100644
--- a/src/complexity.cc
+++ b/src/complexity.cc
@@ -22,7 +22,6 @@
 #include "stat.h"
 #include <cmath>
 #include <algorithm>
-#include <functional>
 
 namespace benchmark {
 
diff --git a/test/complexity_test.cc b/test/complexity_test.cc
index ed434fe..03bd2dc 100644
--- a/test/complexity_test.cc
+++ b/test/complexity_test.cc
@@ -153,9 +153,9 @@
   }
   state.SetComplexityN(state.range_x());
 }
-BENCHMARK(BM_Complexity_O1)->Range(1, 1<<18)->Complexity(benchmark::o1);
-BENCHMARK(BM_Complexity_O1)->Range(1, 1<<18)->Complexity([](size_t){return 1.0; });
-BENCHMARK(BM_Complexity_O1)->Range(1, 1<<18)->Complexity();
+BENCHMARK(BM_Complexity_O1) -> Range(1, 1<<18) -> Complexity(benchmark::o1);
+BENCHMARK(BM_Complexity_O1) -> Range(1, 1<<18) -> Complexity([](size_t){return 1.0; });
+BENCHMARK(BM_Complexity_O1) -> Range(1, 1<<18) -> Complexity();
 
 std::string big_o_1_test_name = "BM_Complexity_O1_BigO";
 std::string rms_o_1_test_name = "BM_Complexity_O1_RMS";