diff --git a/main.cpp b/main.cpp
index 12d9474..0095eec 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,6 +1,9 @@
+
 #include <iostream>
 #include <vector>
-
+#include <conio.h>
+#include "histogram.h"
+#include "text.h"
 using namespace std;
 
 struct Input {
@@ -25,100 +28,11 @@ input_data(){
     return in;
 }
 
-void find_minmax(const vector<double> &numbers, double &min, double &max)
-{
-    max = numbers[0];
-    min = numbers[1];
-    for (double x: numbers)
-    {
-        if (x < min)
-        {
-            min = x;
-        }
-        else if (x > max)
-        {
-            max = x;
-        }
-    }
-    return;
-}
-
-vector<size_t> make_histogram (vector<double> numbers, size_t bin_count)
-{
-
-    double minn;
-    double maxx;
-    find_minmax (numbers, minn, maxx);
-    double bin_size = (maxx - minn) / bin_count;
-    vector<size_t> bins(bin_count);
-    for (size_t i = 0; i < numbers.size(); i++)
-    {
-        bool found = false;
-        for (size_t j = 0; (j < bin_count - 1) && !found; j++)
-        {
-            auto lo = minn + j * bin_size;
-            auto hi = minn + (j + 1) * bin_size;
-            if ((lo <= numbers[i]) && (numbers[i] < hi))
-            {
-                bins[j]++;
-                found = true;
-            }
-        }
-        if (!found)
-        {
-            bins[bin_count - 1]++;
-        }
-    }
-    return bins;
-}
-void show_histogram_text(vector<size_t> bins, size_t bin_count)
-{
-    const size_t SCREEN_WIDTH = 80;
-    const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 1;
-    double max_bin;
-    size_t height;
-    max_bin = bins[0];
-    height = bins[0];
-    for (size_t i = 0; i < bin_count; i++)
-    {
-        if (bins[i] > max_bin){
-            max_bin = bins[i];
-        }
-    }
-
-    bool flag = false;
-    if ( max_bin > 80)
-    {
-        flag = true;
-    }
-    for (size_t i = 0; i < bin_count; i++)
-    {
-        if (bins[i] < 100)
-            cout << " ";
-        if (bins[i] < 10)
-            cout << " ";
-        cout << bins[i] << "|";
-        if( flag == true)
-        {
-            height = MAX_ASTERISK * (static_cast<double>(bins[i]) / max_bin);
-        }
-        else
-        {
-            height = bins[i];
-        }
-        for (size_t j = 0; j < height; j++)
-        {
-            cout << "*";
-        }
-        cout << endl;
-
-    }
-}
 int main()
 {
     auto in = input_data();
     auto bins = make_histogram(in.numbers, in.bin_count);
     show_histogram_text(bins, in.bin_count);
-
+    getch();
     return 0;
 }