diff --git a/src/Network/NeuralNetwork.cpp b/src/Network/NeuralNetwork.cpp
index 402584a3788cc8957e3b4385dac5ab5ecaf9847c..dd1ec5103874a7d119092614e44beb99cd02950e 100644
--- a/src/Network/NeuralNetwork.cpp
+++ b/src/Network/NeuralNetwork.cpp
@@ -5,6 +5,8 @@
  * @date 13.6.18 - 
  */
 
+#include <boost/random/mersenne_twister.hpp>
+#include <boost/random/uniform_real_distribution.hpp>
 #include "NeuralNetwork.h"
 #include "../NetConnection/ConnectionWeightIdentity.h"
 
@@ -45,7 +47,23 @@ int NeuralNetwork::add_neuron(Neuron *n) {
     return (int)this->neurons->size() - 1;
 }
 
+void NeuralNetwork::add_connection_simple(int n1_idx, int n2_idx) {
+    add_connection_simple(n1_idx, n2_idx, -1);
+}
+
+void NeuralNetwork::add_connection_simple(int n1_idx, int n2_idx, int weight_idx) {
+    boost::random::mt19937 gen;
+
+    // Init weight guess ("optimal" for logistic activation functions)
+    double r = 4 * sqrt(6./(this->n_inputs + this->n_outputs));
+
+    boost::random::uniform_real_distribution<> dist(-r, r);
+
+    add_connection_simple(n1_idx, n2_idx, weight_idx, dist(gen));
+}
+
 void NeuralNetwork::add_connection_simple(int n1_idx, int n2_idx, int weight_idx, double weight_value) {
+    // TODO generate weight_value automatically from normal distribution
 
     if(weight_idx < 0 || weight_idx >= this->connection_weights->size()){
         //this weight is a new one, we add it to the system of weights
diff --git a/src/Network/NeuralNetwork.h b/src/Network/NeuralNetwork.h
index 11019b78f4e8ed6c4f764dabebc1bc1c4b69bde7..02f7e46ad099605452a3dc7e4972271afe0a1262 100644
--- a/src/Network/NeuralNetwork.h
+++ b/src/Network/NeuralNetwork.h
@@ -99,6 +99,21 @@ public:
      */
     int add_neuron(Neuron* n);
 
+    /**
+     *
+     * @param n1_idx
+     * @param n2_idx
+     */
+    void add_connection_simple(int n1_idx, int n2_idx);
+
+    /**
+     *
+     * @param n1_idx
+     * @param n2_idx
+     * @param weight_idx
+     */
+    void add_connection_simple(int n1_idx, int n2_idx, int weight_idx);
+
     /**
      *
      * @param[in] n1_idx
diff --git a/src/net_test_1.cpp b/src/net_test_1.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..e049e7757916573ae049f800ee1c8fb2327a44f5
--- /dev/null
+++ b/src/net_test_1.cpp
@@ -0,0 +1,4 @@
+//
+// Created by martin on 7/16/18.
+//
+