diff --git a/res/ui/addAccountDialog.ui b/res/ui/addAccountDialog.ui
index 807ffccb5bb68c291718b916f5808c2e05a58c92..87f25ce73bd7c55cac5124e82103b93141765b42 100644
--- a/res/ui/addAccountDialog.ui
+++ b/res/ui/addAccountDialog.ui
@@ -61,7 +61,7 @@
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_3">
       <item>
-       <widget class="QTableView" name="communitiesTable"/>
+       <widget class="QListView" name="communitiesList"/>
       </item>
       <item>
        <layout class="QHBoxLayout" name="horizontalLayout_3">
diff --git a/res/ui/mainwindow.ui b/res/ui/mainwindow.ui
index c9c3e646f3b9801066a7eccdd8172b2c4c7d8960..c6ab23c09a9ce0a3abcf426717eea0689503ea3f 100644
--- a/res/ui/mainwindow.ui
+++ b/res/ui/mainwindow.ui
@@ -14,7 +14,14 @@
    <string notr="true">CuteCoin</string>
   </property>
   <widget class="QWidget" name="centralwidget">
-   <layout class="QHBoxLayout" name="horizontalLayout_2">
+   <layout class="QVBoxLayout" name="verticalLayout_6">
+    <item>
+     <widget class="QLabel" name="accountNameLabel">
+      <property name="text">
+       <string>Please select an account</string>
+      </property>
+     </widget>
+    </item>
     <item>
      <widget class="QFrame" name="actionsFrame">
       <property name="frameShape">
@@ -26,8 +33,11 @@
       <layout class="QVBoxLayout" name="verticalLayout">
        <item>
         <widget class="QTabWidget" name="tabWidget">
+         <property name="enabled">
+          <bool>false</bool>
+         </property>
          <property name="currentIndex">
-          <number>0</number>
+          <number>2</number>
          </property>
          <widget class="QWidget" name="walletsTab">
           <attribute name="title">
@@ -153,6 +163,7 @@
     </property>
     <addaction name="actionChange_account"/>
     <addaction name="actionAdd_account"/>
+    <addaction name="separator"/>
    </widget>
    <widget class="QMenu" name="menuEdit">
     <property name="title">
diff --git a/src/cutecoin/__init__.py b/src/cutecoin/__init__.py
index 16edd0be597e42e43731472412ec411392332636..baa65356cd22f729c7077abdfe07a2f026fe8f99 100644
--- a/src/cutecoin/__init__.py
+++ b/src/cutecoin/__init__.py
@@ -6,11 +6,12 @@ Created on 1 févr. 2014
 import sys
 from PyQt5.QtWidgets import QApplication, QDialog
 from cutecoin.gui.mainWindow import MainWindow
-from cutecoin.models.account import Account
+from cutecoin.core import Core
 
 if __name__ == '__main__':
     app = QApplication(sys.argv)
-    window = MainWindow()
+    core = Core(sys.argv)
+    window = MainWindow(core)
     window.show()
     sys.exit(app.exec_())
     pass
\ No newline at end of file
diff --git a/src/cutecoin/core/__init__.py b/src/cutecoin/core/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..43ea9c67b43961435c198443f802fb53cf4ff04c
--- /dev/null
+++ b/src/cutecoin/core/__init__.py
@@ -0,0 +1,30 @@
+'''
+Created on 1 févr. 2014
+
+@author: inso
+'''
+
+from cutecoin.core.appData import AppData
+from cutecoin.core import config
+
+class Core(object):
+
+    def __init__(self, argv):
+        '''
+        Constructor
+        '''
+        self.account = []
+        self.currentAccount = None
+        config.parseArguments(argv)
+        AppData().load(self)
+
+    def getAccounts(self):
+        return self.accounts
+
+    def addAccount(self, account):
+        self.accounts.append(account)
+        self.currentAccount = account
+
+    def delAccount(self, account):
+        self.accounts.remove(account)
+
diff --git a/src/cutecoin/core/appData.py b/src/cutecoin/core/appData.py
new file mode 100644
index 0000000000000000000000000000000000000000..11e25062dfc17a2b480f2f04cd4c37790b0df5df
--- /dev/null
+++ b/src/cutecoin/core/appData.py
@@ -0,0 +1,29 @@
+'''
+Created on 7 févr. 2014
+
+@author: inso
+'''
+import json
+from cutecoin.core import config
+
+class AppData(object):
+    '''
+    classdocs
+    '''
+
+
+    def __init__(self):
+        '''
+        Constructor
+        '''
+
+    def load(self, core):
+        json_data=open(config.data['home'])
+        data = json.load(json_data)
+        json_data.close()
+        data['accounts']
+
+
+    def save(self, core):
+        #TODO: Sauvegarde de l'état de l'application
+        pass
\ No newline at end of file
diff --git a/src/cutecoin/core/config.py b/src/cutecoin/core/config.py
new file mode 100644
index 0000000000000000000000000000000000000000..ca1ce159d622c6858f2051d34ebd4dd8bd356ce1
--- /dev/null
+++ b/src/cutecoin/core/config.py
@@ -0,0 +1,12 @@
+'''
+Created on 7 févr. 2014
+
+@author: inso
+'''
+
+
+data = { 'home' : '~/.cutecoin'}
+
+def parseArguments(argv):
+    #TODO: Parsing d'arguments
+    pass
\ No newline at end of file
diff --git a/src/cutecoin/gui/addAccountDialog.py b/src/cutecoin/gui/addAccountDialog.py
index f66916b85891aebcd279f98a5a9b578f7922a643..9af46cddbcb87ef31e20a4646152c572e4855aa9 100644
--- a/src/cutecoin/gui/addAccountDialog.py
+++ b/src/cutecoin/gui/addAccountDialog.py
@@ -8,7 +8,7 @@ from PyQt5.QtWidgets import QDialog
 from cutecoin.gui.addCommunityDialog import AddCommunityDialog
 from cutecoin.models.account import Account
 from cutecoin.models.account.communities import Communities
-from cutecoin.models.account.communities.treeModel import CommunitiesTreeModel
+from cutecoin.models.account.communities.listModel import CommunitiesListModel
 
 import gnupg
 
@@ -19,7 +19,7 @@ class AddAccountDialog(QDialog, Ui_AddAccountDialog):
     '''
 
 
-    def __init__(self):
+    def __init__(self, mainWindow):
         '''
         Constructor
         '''
@@ -27,6 +27,11 @@ class AddAccountDialog(QDialog, Ui_AddAccountDialog):
         super(AddAccountDialog, self).__init__()
         self.setupUi(self)
         self.dialog = AddCommunityDialog(self)
+        self.mainWindow = mainWindow
+
+
+        self.buttonBox.accepted.connect(self.mainWindow.actionAddAccount)
+
         self.setData()
 
     def setData(self):
@@ -35,14 +40,13 @@ class AddAccountDialog(QDialog, Ui_AddAccountDialog):
         for key in availableKeys:
             self.pgpkeyList.addItem(key['uids'][0])
 
-
         self.account = Account(self.pgpkeyList.currentText(), "", Communities())
 
     def openAddCommunityDialog(self):
         self.dialog.setCommunities(self.account.communities)
         self.dialog.exec_()
 
-    def validAddCommunityDialog(self):
-        self.communitiesTable.setModel(CommunitiesTreeModel(self.account))
+    def actionAddCommunity(self):
+        self.communitiesList.setModel(CommunitiesListModel(self.account))
 
 
diff --git a/src/cutecoin/gui/addCommunityDialog.py b/src/cutecoin/gui/addCommunityDialog.py
index 4f5966d61ce80e8febe14588002f635a02c56d67..0c930213afc1dd36fe457830ff11b25e82920cb5 100644
--- a/src/cutecoin/gui/addCommunityDialog.py
+++ b/src/cutecoin/gui/addCommunityDialog.py
@@ -21,7 +21,7 @@ class AddCommunityDialog(QDialog, Ui_AddCommunityDialog):
         super(AddCommunityDialog, self).__init__()
         self.setupUi(self)
         self.accountDialog = accountDialog
-        self.buttonBox.accepted.connect(self.accountDialog.validAddCommunityDialog)
+        self.buttonBox.accepted.connect(self.accountDialog.actionAddCommunity)
 
     def setCommunities(self, communities):
         self.communities = communities
diff --git a/src/cutecoin/gui/mainWindow.py b/src/cutecoin/gui/mainWindow.py
index 945cb2d63cae055714ba575d63066f43f59e00f5..0a1613fda8aa5d45f08cd652ff0171a8a56ed9f0 100644
--- a/src/cutecoin/gui/mainWindow.py
+++ b/src/cutecoin/gui/mainWindow.py
@@ -13,15 +13,29 @@ class MainWindow(QMainWindow, Ui_MainWindow):
     '''
 
 
-    def __init__(self):
+    def __init__(self, core):
         '''
         Constructor
         '''
         # Set up the user interface from Designer.
         super(MainWindow, self).__init__()
         self.setupUi(self)
+        self.core = core
 
     def openAddAccountDialog(self):
-        dialog = AddAccountDialog()
-        dialog.setData()
-        dialog.exec_()
\ No newline at end of file
+        self.dialog = AddAccountDialog()
+        self.dialog.setData()
+        self.dialog.exec_()
+
+    def actionAddAccount(self):
+        self.core.addAccount(self.dialog.account)
+
+    '''
+    Refresh main window
+    When the selected account changes, all the widgets
+    in the window have to be refreshed
+    '''
+    def refreshMainWindow(self):
+        if self.core.currentAccount != None:
+            #TODO: rafraichissement de la fenetre
+            pass
diff --git a/src/cutecoin/models/__init__.py b/src/cutecoin/models/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/cutecoin/models/account/communities/listModel.py b/src/cutecoin/models/account/communities/listModel.py
index 62c68739914a2475799269e240d6eb7c4f7cdc1e..a176eb30e03f25841f03ed424ae6c50ae1a90a6a 100644
--- a/src/cutecoin/models/account/communities/listModel.py
+++ b/src/cutecoin/models/account/communities/listModel.py
@@ -10,12 +10,12 @@ class CommunitiesListModel(QAbstractListModel):
     '''
     A Qt abstract item model to display communities in a tree
     '''
-    def __init__(self, communities, parent=None):
+    def __init__(self, account, parent=None):
         '''
         Constructor
         '''
         super(CommunitiesListModel, self).__init__(parent)
-        self.communities = communities
+        self.communities = account.communities
 
 
     def rowCount(self ,parent):
diff --git a/src/cutecoin/models/account/communities/treeModel.py b/src/cutecoin/models/account/communities/treeModel.py
index f375b6eff129a4ab9d8da368cb943f6cdb89726b..13988dd7ee07df6bbd47ce2b89236d57c2a880cb 100644
--- a/src/cutecoin/models/account/communities/treeModel.py
+++ b/src/cutecoin/models/account/communities/treeModel.py
@@ -9,6 +9,8 @@ from cutecoin.models.account.communities.itemModel import CommunitiesItemModel
 from cutecoin.models.community.itemModel import CommunityItemModel
 from cutecoin.models.node.itemModel import MainNodeItem, NodeItem
 
+#TODO: Use it somewhere or remove it from the code
+
 class CommunitiesTreeModel(QAbstractItemModel):
     '''
     A Qt abstract item model to display communities in a tree
diff --git a/src/cutecoin/models/account/wallets/__init__.py b/src/cutecoin/models/account/wallets/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..2323764d9b4a2eb967ec4d272e8f18db84dc7b83
--- /dev/null
+++ b/src/cutecoin/models/account/wallets/__init__.py
@@ -0,0 +1,15 @@
+'''
+Created on 7 févr. 2014
+
+@author: inso
+'''
+
+class Wallets(object):
+    '''
+    classdocs
+    '''
+    def __init__(self):
+        '''
+        Constructor
+        '''
+
diff --git a/src/cutecoin/models/coin.py b/src/cutecoin/models/coin/__init__.py
similarity index 100%
rename from src/cutecoin/models/coin.py
rename to src/cutecoin/models/coin/__init__.py
diff --git a/src/cutecoin/models/community/__init__.py b/src/cutecoin/models/community/__init__.py
index e6aa91d1fef1f65287328d70e99af2b7ec89bb30..4dd21146774db267c876268c71d30dc989fb3f07 100644
--- a/src/cutecoin/models/community/__init__.py
+++ b/src/cutecoin/models/community/__init__.py
@@ -23,8 +23,7 @@ class Community(object):
         Listing members of a community
         '''
 
-        # TODO : Try connecting with nodes of the list
-        # if the first fails
+        #TODO: Try connecting with nodes of the list if the first fails
         # Maybe create a method
         ucoin.settings['server'] = self.knowNodes[0].server
         ucoin.settings['port'] = self.knowNodes[0].port
diff --git a/src/cutecoin/models/transaction.py b/src/cutecoin/models/transaction/__init__.py
similarity index 100%
rename from src/cutecoin/models/transaction.py
rename to src/cutecoin/models/transaction/__init__.py
diff --git a/src/cutecoin/models/wallet.py b/src/cutecoin/models/wallet/__init__.py
similarity index 100%
rename from src/cutecoin/models/wallet.py
rename to src/cutecoin/models/wallet/__init__.py