diff --git a/projects/braidingTightBinding/bin/main_braiding_zerostate.cpp b/projects/braidingTightBinding/bin/main_braiding_zerostate.cpp
index 124af20946d236989e5114e380ac8fb7e355e057..b9e892b274ed10e65e103666e0aae0b92cbe1d64 100644
--- a/projects/braidingTightBinding/bin/main_braiding_zerostate.cpp
+++ b/projects/braidingTightBinding/bin/main_braiding_zerostate.cpp
@@ -25,111 +25,121 @@
 template <typename iterator_t>
 void writeToFile(const std::string filename, const std::string header, int line_length, iterator_t begin, iterator_t end) noexcept
 {
-        //no line breaks if line_length == -1
-        if(line_length == -1)
-                line_length = std::distance(begin, end);
-        std::fstream file (filename, file.out);
-        file << header;
-        file << std::endl;
-        for(auto it = begin; it != end; ++it){
-                if(std::distance(begin, it) % line_length == 0)
-                        file << std::endl;
-                file << *it << " ";
-        }
-        file << std::flush;
-        file.close();
+  //no line breaks if line_length == -1
+  if(line_length == -1){
+    line_length = std::distance(begin, end);
+  }
+  std::fstream file (filename, file.out);
+  file << header;
+  file << std::endl;
+  for(auto it = begin; it != end; ++it){
+    if(std::distance(begin, it) % line_length == 0){
+      file << std::endl;
+    }
+    file << *it << " ";
+  }
+  file << std::flush;
+  file.close();
 
 }
 
 int main(int argc, char** argv){
-        assert(argc == 2);
-        //shorthands
-        using value_t = double;
-        using params_t = DrumParametersBraid<value_t>;
-        using vars_t = DrumVariablesBraid<value_t>;
-        using buffer_t = RK4Buffer<value_t>;
-        using drum_t = Drum<value_t, params_t, vars_t, buffer_t>;
-        using coupler_t = CouplerBraid<value_t, drum_t, params_t>;
-        using driver_t = DriverBraid<value_t, drum_t>;
-        using sysparams_t = SystemParameters<coupler_t, driver_t>;
-        using force_t = ForceBraid<value_t, params_t, vars_t, buffer_t>;
-        using stepper_t = Rk4Stepper<value_t, params_t, vars_t, buffer_t, force_t>;
-        using generator_t = RbcombGeneratorBraid<value_t, params_t, vars_t, buffer_t>;
-        using grabber_t = Grabber<value_t, drum_t>;
-        using matelecalc_t = MatrixElementCalculatorBraid<value_t, params_t, vars_t, drum_t>;
-        using system_t = System<value_t, drum_t, grabber_t, sysparams_t, force_t, coupler_t, driver_t, stepper_t, matelecalc_t>;
-        using vortex_t = Vortex<value_t>;
-        using vec2_t = Vec2<value_t>;
-
-        value_t k0 =24674011002.723392;
-        value_t k1 = 493480220.0544679;
-        value_t k2 = 2467401100.2723393;
-        value_t c = 5.235987755982988;
-
-        vortex_t vortex0 (vec2_t(10.5,24.), 5., 1., 1., 1.); //as Eliska did it
-        vortex_t vortex1 (vec2_t(31.5,24.), 5., 1., 1., 1.); //as Eliska did it
-        vortex_t vortex2 (vec2_t(52.5,24.), 5., 1., 1., 1.); //as Eliska did it
-        //std::vector<vortex_t> vortices ({vortex0, vortex1, vortex2});
-        std::vector<vortex_t> vortices ({vortex0, vortex1, vortex2});
-
-        params_t drum_parameters (k0, k1, k2, c, vec2_t (0., 0.), 'A');
-        generator_t lattice_generator (37,15);
-        auto lat_pair = lattice_generator(drum_parameters);
-
-        //change edge potentials to push edge modes around
+  assert(argc == 2);
+  //shorthands
+  using value_t = double;
+  using params_t = DrumParametersBraid<value_t>;
+  using vars_t = DrumVariablesBraid<value_t>;
+  using buffer_t = RK4Buffer<value_t>;
+  using drum_t = Drum<value_t, params_t, vars_t, buffer_t>;
+  using coupler_t = CouplerBraid<value_t, drum_t, params_t>;
+  using driver_t = DriverBraid<value_t, drum_t>;
+  using sysparams_t = SystemParameters<coupler_t, driver_t>;
+  using force_t = ForceBraid<value_t, params_t, vars_t, buffer_t>;
+  using stepper_t = Rk4Stepper<value_t, params_t, vars_t, buffer_t, force_t>;
+  using generator_t = RbcombGeneratorBraid<value_t, params_t, vars_t, buffer_t>;
+  using grabber_t = Grabber<value_t, drum_t>;
+  using matelecalc_t = MatrixElementCalculatorBraid<value_t, params_t, vars_t, drum_t>;
+  using system_t = System<value_t, drum_t, grabber_t, sysparams_t, force_t, coupler_t, driver_t, stepper_t, matelecalc_t>;
+  using vortex_t = Vortex<value_t>;
+  using vec2_t = Vec2<value_t>;
+
+  value_t k0 = 24674011002.723392;
+  value_t k1 = 493480220.0544679;
+  value_t k2 = 2467401100.2723393;
+  value_t c = 5.235987755982988;
+
+  vortex_t vortex0 (vec2_t(10.5,24.), 5., 1., 1., 1.); //as Eliska did it
+  vortex_t vortex1 (vec2_t(31.5,24.), 5., 1., 1., 1.); //as Eliska did it
+  vortex_t vortex2 (vec2_t(52.5,24.), 5., 1., 1., 1.); //as Eliska did it
+  //std::vector<vortex_t> vortices ({vortex0, vortex1, vortex2});
+  std::vector<vortex_t> vortices ({vortex1});
+
+  params_t drum_parameters (k0, k1, k2, c, vec2_t (0., 0.), 'A');
+  generator_t lattice_generator (37,15);
+  auto lat_pair = lattice_generator(drum_parameters);
+
+  //change edge potentials to push edge modes around
 	value_t onsite_A = 27388152213.022964;
 	value_t onsite_B = 21959869792.42382;
-        for(size_t i = 0; i < lat_pair.first.size()-1; ++i){
+  for(size_t i = 0; i < lat_pair.first.size()-1; ++i){
 		if(lat_pair.second[i][0] == lat_pair.first.size() || lat_pair.second[i][1] == lat_pair.first.size() || lat_pair.second[i][2] == lat_pair.first.size()){
 			if(lat_pair.first[i].get_parameters().sublattice == 'A'){ //'A' site
 				lat_pair.first[i].get_parameters().k0 = onsite_A;
-				for(int j: lat_pair.second[i])
-					if(j != lat_pair.first.size())
+				for(int j: lat_pair.second[i]){
+					if(j != lat_pair.first.size()){
 						lat_pair.first[j].get_parameters().k0 = onsite_B;
+          }
+        }
 			}
 			else{ //'B' site
 				lat_pair.first[i].get_parameters().k0 = onsite_B;
-				for(int j: lat_pair.second[i])
-					if(j != lat_pair.first.size())
+				for(int j: lat_pair.second[i]){
+					if(j != lat_pair.first.size()){
 						lat_pair.first[j].get_parameters().k0 = onsite_A;
+          }
+        }
 			}
 		}
 	}
-                        
+
+  //set initial conditions
+  double x_0 = 0.;
+  double v_0 = 0.;
+  for(auto drum: lat_pair.first){
+    drum.get_variables().x = x_0;
+    drum.get_variables().xdot = v_0;
+  }
 
 
-        sysparams_t system_parameters (coupler_t(vortices), driver_t(), lat_pair.second);
-        force_t force;
-        stepper_t stepper;
 
-        //generate grabber
-        size_t save_every = 10;
-        std::string parameters_file =  std::string(argv[1]) + "PARAMS.TXT";
-        std::string adjacency_file =  std::string(argv[1]) + "ADJACENCY.TXT";
-        std::string dynamics_file = std::string(argv[1]) + "DYNAMICS.TXT";
-        grabber_t grabber (save_every, parameters_file, adjacency_file, dynamics_file);
+  sysparams_t system_parameters (coupler_t(vortices), driver_t(), lat_pair.second);
+  force_t force;
+  stepper_t stepper;
 
-        system_t system (1., 0.00001, lat_pair.first, stepper, force, system_parameters, grabber);
-        system.save();
+  //generate grabber
+  size_t save_every = 10;
+  std::string parameters_file =  std::string(argv[1]) + "PARAMS.TXT";
+  std::string adjacency_file =  std::string(argv[1]) + "ADJACENCY.TXT";
+  std::string dynamics_file = std::string(argv[1]) + "DYNAMICS.TXT";
+  grabber_t grabber (save_every, parameters_file, adjacency_file, dynamics_file);
 
-        //set up matrix element calculator
-        matelecalc_t mec;
+  system_t system (1., 0.00001, lat_pair.first, stepper, force, system_parameters, grabber);
+  system.save();
 
-        //set up diagonalizer
-        Diagonalizer diagonalizer;
-        //calculate eigenvalues
-        std::vector<value_t> matrix = system.get_matrix(mec);
-        //std::vector<value_t> evals = diagonalizer.ev(system.get_matrix(mec), lat_pair.first.size()-1);
-        std::pair<std::vector<value_t>, std::vector<value_t> > diag_pair = diagonalizer.evv(system.get_matrix(mec), lat_pair.first.size()-1);
+  //set up matrix element calculator
+  matelecalc_t mec;
 
-        //make eigenvalues to frequencies
-        std::transform(diag_pair.first.begin(), diag_pair.first.end(), diag_pair.first.begin(), [](value_t x) -> value_t {return std::sqrt(x)/(2.*M_PI);});
+  //set up diagonalizer
+  Diagonalizer diagonalizer;
+  //calculate eigenvalues
+  std::vector<value_t> matrix = system.get_matrix(mec);
+  //std::vector<value_t> evals = diagonalizer.ev(system.get_matrix(mec), lat_pair.first.size()-1);
+  std::pair<std::vector<value_t>, std::vector<value_t> > diag_pair = diagonalizer.evv(system.get_matrix(mec), lat_pair.first.size()-1);
 
-        //find the interesting eigenvector range
-        size_t ev_begin = 913 * diag_pair.first.size();
-        size_t ev_end = 943 * diag_pair.first.size();
+  //make eigenvalues to frequencies
+  std::transform(diag_pair.first.begin(), diag_pair.first.end(), diag_pair.first.begin(), [](value_t x) -> value_t {return std::sqrt(x)/(2.*M_PI);});
 
-        //write to file
-        writeToFile(std::string(argv[1]) + "eigenvalues.txt", "", 1, diag_pair.first.begin(), diag_pair.first.end());
-        writeToFile(std::string(argv[1]) + "eigenvectors.txt", "", diag_pair.first.size(), diag_pair.second.begin(), diag_pair.second.end());
+  //write to file
+  writeToFile(std::string(argv[1]) + "eigenvalues.txt", "", 1, diag_pair.first.begin(), diag_pair.first.end());
+  writeToFile(std::string(argv[1]) + "eigenvectors.txt", "", diag_pair.first.size(), diag_pair.second.begin(), diag_pair.second.end());
 }