diff --git a/histogram.cpp b/histogram.cpp
index 4920da2..a247501 100644
--- a/histogram.cpp
+++ b/histogram.cpp
@@ -1,6 +1,7 @@
 #include <iostream>
 #include <vector>
 #include "histogram.h"
+#include "histogram_internal.h"
 using namespace std;
 
 void find_minmax(const vector<double>& numbers, double& min, double& max) {
diff --git a/unittest.cbp b/unittest.cbp
new file mode 100644
index 0000000..7f9621b
--- /dev/null
+++ b/unittest.cbp
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_project_file>
+	<FileVersion major="1" minor="6" />
+	<Project>
+		<Option title="unittest" />
+		<Option pch_mode="2" />
+		<Option compiler="gcc" />
+		<Build>
+			<Target title="Debug">
+				<Option output="bin/Debug/unittest" prefix_auto="1" extension_auto="1" />
+				<Option object_output="obj/Debug/" />
+				<Option type="1" />
+				<Option compiler="gcc" />
+				<Compiler>
+					<Add option="-g" />
+				</Compiler>
+			</Target>
+			<Target title="Release">
+				<Option output="bin/Release/unittest" prefix_auto="1" extension_auto="1" />
+				<Option object_output="obj/Release/" />
+				<Option type="1" />
+				<Option compiler="gcc" />
+				<Compiler>
+					<Add option="-O2" />
+				</Compiler>
+				<Linker>
+					<Add option="-s" />
+				</Linker>
+			</Target>
+		</Build>
+		<Compiler>
+			<Add option="-Wall" />
+		</Compiler>
+		<Extensions>
+			<lib_finder disable_auto="1" />
+		</Extensions>
+	</Project>
+</CodeBlocks_project_file>
diff --git a/unittest.cpp b/unittest.cpp
new file mode 100644
index 0000000..fde8f10
--- /dev/null
+++ b/unittest.cpp
@@ -0,0 +1,29 @@
+#define DOCTEST_CONFIG_NO_MULTITHREADING
+#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+#include "doctest.h"
+#include "histogram_internal.h"
+
+TEST_CASE("distinct positive numbers") {
+    double min = 0;
+    double max = 0;
+    find_minmax({1, 2}, min, max);
+    CHECK(min == 1);
+    CHECK(max == 2);
+}
+
+TEST_CASE("all negative numbers"){
+    double min = 0;
+    double max = 0;
+    find_minmax({-1, -2}, min, max);
+    CHECK(min == -2);
+    CHECK(max == -1);
+}
+
+TEST_CASE("vector of the same elements"){
+    double min = 0;
+    double max = 0;
+    find_minmax({3,3,3}, min, max);
+    CHECK(min == 3);
+    CHECK(max == 3);
+
+}