diff --git a/forms/neighborhoodWidget.ui b/forms/neighborhoodWidget.ui
deleted file mode 100644
index 8ec74b90aeac901bc04338bbb8c584e33a104db3..0000000000000000000000000000000000000000
--- a/forms/neighborhoodWidget.ui
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>NeighborhoodWidget</class>
- <widget class="QWidget" name="NeighborhoodWidget">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>993</width>
-    <height>518</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QHBoxLayout" name="horizontalLayout_2">
-   <item>
-    <layout class="QHBoxLayout" name="mainLayout" stretch="1,0">
-     <item>
-      <widget class="QWidget" name="grid" native="true">
-       <property name="enabled">
-        <bool>true</bool>
-       </property>
-       <property name="minimumSize">
-        <size>
-         <width>100</width>
-         <height>100</height>
-        </size>
-       </property>
-       <layout class="QGridLayout" name="gridLayout_3">
-        <item row="0" column="0">
-         <widget class="GridView" name="grid_view">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="frameShape">
-           <enum>QFrame::StyledPanel</enum>
-          </property>
-          <property name="frameShadow">
-           <enum>QFrame::Raised</enum>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </widget>
-     </item>
-     <item>
-      <layout class="QVBoxLayout" name="settingsLayout">
-       <property name="sizeConstraint">
-        <enum>QLayout::SetDefaultConstraint</enum>
-       </property>
-       <item>
-        <layout class="QFormLayout" name="gridDimLayout">
-         <property name="fieldGrowthPolicy">
-          <enum>QFormLayout::FieldsStayAtSizeHint</enum>
-         </property>
-         <item row="0" column="0">
-          <widget class="QLabel" name="widthLabel">
-           <property name="text">
-            <string>Width :</string>
-           </property>
-           <property name="buddy">
-            <cstring>widthSpinBox</cstring>
-           </property>
-          </widget>
-         </item>
-         <item row="0" column="1">
-          <widget class="QSpinBox" name="widthSpinBox">
-           <property name="minimum">
-            <number>1</number>
-           </property>
-           <property name="maximum">
-            <number>9999</number>
-           </property>
-           <property name="value">
-            <number>10</number>
-           </property>
-          </widget>
-         </item>
-         <item row="1" column="0">
-          <widget class="QLabel" name="heightLabel">
-           <property name="text">
-            <string>Height :</string>
-           </property>
-           <property name="buddy">
-            <cstring>heightSpinBox</cstring>
-           </property>
-          </widget>
-         </item>
-         <item row="1" column="1">
-          <widget class="QSpinBox" name="heightSpinBox">
-           <property name="minimum">
-            <number>1</number>
-           </property>
-           <property name="maximum">
-            <number>9999</number>
-           </property>
-           <property name="value">
-            <number>10</number>
-           </property>
-          </widget>
-         </item>
-         <item row="2" column="1">
-          <widget class="QPushButton" name="validateGridDim">
-           <property name="enabled">
-            <bool>false</bool>
-           </property>
-           <property name="text">
-            <string>OK</string>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <widget class="QDialogButtonBox" name="buttonBox">
-         <property name="standardButtons">
-          <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <customwidgets>
-  <customwidget>
-   <class>GridView</class>
-   <extends>QFrame</extends>
-   <header>gridview.hpp</header>
-   <container>1</container>
-  </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
diff --git a/include/automaton.hpp b/include/automaton.hpp
index 0dc759d0a878c1afca881c26d2d52ab5351be43e..226390bb0bc1d604473e9d8d1af0b28b81a3141f 100644
--- a/include/automaton.hpp
+++ b/include/automaton.hpp
@@ -10,7 +10,7 @@ Cette classe représente un automate cellulaire.
 
 #include "neighborhoodrule.hpp"
 #include "transitionrule.hpp"
-#include "grid.h"
+#include "grid.hpp"
 #include "alphabet.hpp"
 
 //! \brief Représente une configuration d'un automate à un instant t : ses règles de voisinage et transition et son réseau.
diff --git a/include/colorlabel.h b/include/colorlabel.hpp
similarity index 100%
rename from include/colorlabel.h
rename to include/colorlabel.hpp
diff --git a/include/grid.h b/include/grid.hpp
similarity index 100%
rename from include/grid.h
rename to include/grid.hpp
diff --git a/include/gridview.hpp b/include/gridview.hpp
index a3bfd346b80360203af024685d4ff200f41d07b4..869cb24eb1df0aaff033b969403b28471c6cb01d 100644
--- a/include/gridview.hpp
+++ b/include/gridview.hpp
@@ -24,8 +24,8 @@ Cette classe représente le widget utilisé pour l'affichage et l'interaction av
 #include "structure.hpp"
 #include "alphabet.hpp"
 
-#include "grid.h"
-#include "history.h"
+#include "grid.hpp"
+#include "history.hpp"
 
 namespace detail
 {
diff --git a/include/history.h b/include/history.hpp
similarity index 99%
rename from include/history.h
rename to include/history.hpp
index 11dcd6f3a35b3a0b209d62cb7d267d858aed4c7d..634543b0541be3e3a8bea6b13ab0529f0183aeb8 100644
--- a/include/history.h
+++ b/include/history.hpp
@@ -12,7 +12,7 @@ Cette classe représente un historique de Grids.
 #ifndef HISTORY_H
 #define HISTORY_H
 
-#include "grid.h"
+#include "grid.hpp"
 #include <string>
 #include <deque>
 #include <exception>
diff --git a/include/neighborhoodrule.hpp b/include/neighborhoodrule.hpp
index 01a57ba75002642f081a3736f541376e701eba1a..c60cf016a21152c32af71b4f374d31d0c6076f44 100644
--- a/include/neighborhoodrule.hpp
+++ b/include/neighborhoodrule.hpp
@@ -16,7 +16,7 @@ Cette classe peut aussi fournir l'ensemble des positions de voisins qu'elle peut
 #include <vector>
 
 #include "coord.hpp"
-#include "grid.h"
+#include "grid.hpp"
 #include "neighborhood.hpp"
 #include "factory.hpp"
 #include "property.hpp"
diff --git a/include/simulation.hpp b/include/simulation.hpp
index 43d391cde38e87aa5d58752cd9d5e4862e41be63..9bd4af5657828a8f0053112249daa13f6a333ab0 100644
--- a/include/simulation.hpp
+++ b/include/simulation.hpp
@@ -9,8 +9,8 @@ Cette classe représente un automate cellulaire dans le temps.
 #ifndef SIMULATION_HPP
 #define SIMULATION_HPP
 
-#include "history.h"
-#include "grid.h"
+#include "history.hpp"
+#include "grid.hpp"
 #include "automaton.hpp"
 
 //! \brief Cette classe représente un automate cellulaire dans le temps.
diff --git a/include/transition_rules/lifegametransition.h b/include/transition_rules/lifegametransition.hpp
similarity index 100%
rename from include/transition_rules/lifegametransition.h
rename to include/transition_rules/lifegametransition.hpp
diff --git a/src/colorlabel.cpp b/src/colorlabel.cpp
index 562c8536dd2585e6995111bc387c9ce48ce83981..d5dda1bc1a0ebeb199f8a40f7547b08da16f2fa8 100644
--- a/src/colorlabel.cpp
+++ b/src/colorlabel.cpp
@@ -1,4 +1,4 @@
-#include "colorlabel.h"
+#include "colorlabel.hpp"
 #include "ui_colorlabel.h"
 #include "state.hpp"
 #include "stateColor.hpp"
diff --git a/src/grid.cpp b/src/grid.cpp
index 4134229ebb1fdd1c77717f6e83baaa7a159e5e03..585907ec3e62dbce4e952f06831fcadf82b52089 100644
--- a/src/grid.cpp
+++ b/src/grid.cpp
@@ -9,7 +9,7 @@ Cette classe représente un réseau de cellules.
 
         **/
 
-#include "grid.h"
+#include "grid.hpp"
 
 #include "structure.hpp"
 
diff --git a/src/history.cpp b/src/history.cpp
index 8e632ea1fbef7474c7f860bf8dda37bf12170071..c63ff0b59f533f7a315c20fb8140294947411ffa 100644
--- a/src/history.cpp
+++ b/src/history.cpp
@@ -9,7 +9,7 @@ Cette classe représente un historique de Grids.
 
         **/
 
-#include "history.h"
+#include "history.hpp"
 
 #include <cassert>
 
diff --git a/src/interface.cpp b/src/interface.cpp
index 163fbeb124e142fa47fe590f33bd63b0599e843a..4fd3df90275357a9079c99be78f1fe691c652153 100644
--- a/src/interface.cpp
+++ b/src/interface.cpp
@@ -11,7 +11,7 @@
 #include "modelloadingdialog.hpp"
 #include "configurationloadingdialog.hpp"
 #include "neighborhoodDialog.hpp"
-#include "colorlabel.h"
+#include "colorlabel.hpp"
 
 #include "gif/gifenc.h"
 
diff --git a/src/mathexpr.cpp b/src/mathexpr.cpp
index 9fb89055ede42382f9a98f9d6a5d99585119bfba..6067f2525bd451680d332a4fd0b5c408daf42602 100644
--- a/src/mathexpr.cpp
+++ b/src/mathexpr.cpp
@@ -193,9 +193,9 @@ int eval_math(const std::string &in_expr, const std::map<char, int> &variables)
     std::array<int8_t, 26> variable_map;
     for (const auto& pair : variables)
     {
-        if (pair.second < 'a' || pair.second > 'z')
+        if (pair.first < 'a' || pair.first > 'z')
             throw MathExprException("Invalid variable name");
-        variable_map[pair.first] = pair.second - 'a';
+        variable_map[pair.first - 'a'] = pair.second;
     }
     return evaluate_rpl_input(rpl_stack, variable_map);
 }
diff --git a/src/neighborhood_rules/arbitraryneighborhoodrule.cpp b/src/neighborhood_rules/arbitraryneighborhoodrule.cpp
index f9f6386820acd3d6bc4542987f1e117aabd4d3de..5059317d6ff8abbb5cb02889a87b94a0e6c297fa 100644
--- a/src/neighborhood_rules/arbitraryneighborhoodrule.cpp
+++ b/src/neighborhood_rules/arbitraryneighborhoodrule.cpp
@@ -11,7 +11,7 @@ Représente un voisinage arbitraire, défini par l'utilisateur.
 #include "arbitraryneighborhoodrule.hpp"
 
 #include "neighborhood.hpp"
-#include "grid.h"
+#include "grid.hpp"
 
 REGISTER_FACTORY_ENTRY(NeighborhoodRule, ArbitraryNeighborhoodRule, "Arbitrary");
 
diff --git a/src/src.pro b/src/src.pro
index 863c81125d75c5f12f9644a810102d0fda19af61..33979fbe651aa0407c4366a91b7733cf92cdfabd 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -51,13 +51,13 @@ SOURCES += \
 
 
 HEADERS += \
-    ../include/colorlabel.h \
+    ../include/colorlabel.hpp \
     ../include/automaton.hpp \
     ../include/coord.hpp \
     ../include/neighborhood_rules/mooreNeighborhoodRule.hpp \
     ../include/neighborhood_rules/margolusNeighborhoodRule.hpp \
     ../include/savingdialog.hpp \
-    ../include/transition_rules/lifegametransition.h \
+    ../include/transition_rules/lifegametransition.hpp \
     ../include/neighborhoodrule.hpp \
     ../include/neighborhood_rules/arbitraryneighborhoodrule.hpp \
     ../include/neighborhood_rules/mooreNeighborhoodRule.hpp \
@@ -72,11 +72,11 @@ HEADERS += \
     ../include/structurewriter.hpp \
     ../include/gridview.hpp \
     ../include/interface.hpp \
-    ../include/grid.h \
+    ../include/grid.hpp \
     ../include/alphabet.hpp \
     ../include/stateColor.hpp \
     ../include/state.hpp \
-    ../include/history.h \
+    ../include/history.hpp \
     ../include/constantes.hpp \
     ../include/structurelibraryview.hpp \
     ../include/transitionrule.hpp \
@@ -93,7 +93,6 @@ FORMS += \
     ../forms/savingdialog.ui \
     ../forms/structurelibraryview.ui \
     ../forms/modelloadingdialog.ui \
-    ../forms/neighborhoodWidget.ui \
     ../forms/neighborhoodDialog.ui \
     ../forms/configurationloadingdialog.ui
 
diff --git a/src/transition_rules/lifegametransition.cpp b/src/transition_rules/lifegametransition.cpp
index 5ccf2ba80855fcc1dcc8a0d2e898893300cafca7..9de2c86b6135fa973cded98d443ec196dda130e5 100644
--- a/src/transition_rules/lifegametransition.cpp
+++ b/src/transition_rules/lifegametransition.cpp
@@ -1,4 +1,4 @@
-#include "lifegametransition.h"
+#include "lifegametransition.hpp"
 #include "neighborhoodrule.hpp"
 
 REGISTER_FACTORY_ENTRY(TransitionRule, LifeGameTransition, "Game of Life");
diff --git a/tests/grid_test.cpp b/tests/grid_test.cpp
index 74089c45bd451089aca5a962a80c816a2c0576e5..53b4e0912e405f7530a45e3486d23304f151edfe 100644
--- a/tests/grid_test.cpp
+++ b/tests/grid_test.cpp
@@ -1,7 +1,7 @@
 #include <QtTest/QtTest>
 #include <algorithm>
 #include "cellulut_tests.hpp"
-#include "grid.h"
+#include "grid.hpp"
 
 void CellulutTests::test_grid()
 {
diff --git a/tests/history_test.cpp b/tests/history_test.cpp
index e9198463e9899a15287bb890248308248bb8032a..a814c31ed7b8d28f4bef46f14433d417e1b9152b 100644
--- a/tests/history_test.cpp
+++ b/tests/history_test.cpp
@@ -2,7 +2,7 @@
 #include <algorithm>
 #include "cellulut_tests.hpp"
 
-#include "history.h"
+#include "history.hpp"
 
 void CellulutTests::test_history()
 {
diff --git a/tests/lifegametransition_test.cpp b/tests/lifegametransition_test.cpp
index d9fe463077ec42f98ca7c11b6738d62f11f9fcdf..864dd7460a0d498639dedbc4e2147807e48e692b 100644
--- a/tests/lifegametransition_test.cpp
+++ b/tests/lifegametransition_test.cpp
@@ -1,6 +1,6 @@
 #include "cellulut_tests.hpp"
 
-#include "lifegametransition.h"
+#include "lifegametransition.hpp"
 
 void CellulutTests::test_lifegametransition()
 {
diff --git a/tests/totalistictransition_test.cpp b/tests/totalistictransition_test.cpp
index 98483b1f51ce715010ddb065f0e9b38e0d87acd4..468627a156d5ad23b1808821328c73b503afd24c 100644
--- a/tests/totalistictransition_test.cpp
+++ b/tests/totalistictransition_test.cpp
@@ -91,8 +91,8 @@ void CellulutTests::test_totalistictransition()
 
         QJsonObject obj;
         obj["rule_string"] = "1->2\n"
-                                 "2->3\n"
-                                 "3,1:[1..2]->1\n";
+                             "2->3\n"
+                             "3,1:[1..2]->1\n";
         PropertyLoaderVisitor visit(obj);
         for (auto& prop : rule.get_properties())
             prop->accept(visit);