diff --git a/main.cpp b/main.cpp
index 7fe5010..fdd8df6 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,10 +1,8 @@
 #include <iostream>
 #include <vector>
-
+#include "histogram.h"
+#include "text.h"
 using namespace std;
-const size_t SCREEN_WIDTH = 80;
-const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 1;
-
 struct Input {
     vector<double> numbers;
     size_t bin_count{};
@@ -25,86 +23,9 @@ input_data(){
     cin >> in.bin_count;
     return in;
 }
-
-void
-find_minmax(vector<double> numbers, double& min, double& max) {
-    min = numbers[0];
-    max = numbers[0];
-    for (double x : numbers) {
-    if (x < min) {
-        min = x;
-    }
-    else if (x > max) {
-        max = x;
-    }
-}
-}
-
-vector<size_t>
-make_histogram(vector<double> numbers, size_t bin_count) {
-    vector <size_t> bins(bin_count);
-    double min, max;
-    find_minmax(numbers, min, max);
-    size_t countt;
-    double bin_size = (max - min) / 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 = min + j * bin_size;
-        auto hi = min + (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(auto bins, size_t bin_count){
-        size_t max_count = 0;
-        for (size_t i = 0; i < bin_count; i++){
-        if(bins[i]>max_count)
-        max_count = bins[i];
-        }
-    size_t height;
-    for (size_t i = 0; i < bin_count; i++)
-    {
-        if (bins[i] < 100)
-            cout << " ";
-        if (bins[i] < 10)
-            cout << " ";
-        cout<<bins[i]<<"|";
-        if(max_count>MAX_ASTERISK){
-        for (size_t j = 0; j <(height = MAX_ASTERISK * (static_cast<double>(bins[i]) / max_count)) ; j++)
-        {
-            cout<<"*";
-        }
-        cout<<endl;
-        }
-        else
-        {
-           for (size_t j = 0; j <bins[i] ; j++)
-        {
-            cout<<"*";
-        }
-        cout<<endl;
-        }
-    }
-
-
-}
-
-
 int main()
 {   Input in = input_data();
     auto bins = make_histogram(in.numbers, in.bin_count);
     show_histogram_text(bins, in.bin_count);
     return 0;
-}
+}
\ No newline at end of file