diff --git a/src/cutecoin/gui/network_tab.py b/src/cutecoin/gui/network_tab.py
index bf4b8ccb7234092d5ec9a39ee4eb3b2784ff1a1d..f30d5ce7402183df63efdd86a585b96cd579d2e1 100644
--- a/src/cutecoin/gui/network_tab.py
+++ b/src/cutecoin/gui/network_tab.py
@@ -28,7 +28,7 @@ class NetworkTabWidget(QWidget, Ui_NetworkTabWidget):
         proxy.setSourceModel(model)
         self.table_network.setModel(proxy)
         self.table_network.sortByColumn(0, Qt.DescendingOrder)
-
+        self.table_network.resizeColumnsToContents()
         community.network.nodes_changed.connect(self.refresh_nodes)
 
     def refresh_nodes(self):
diff --git a/src/cutecoin/models/network.py b/src/cutecoin/models/network.py
index 685d9c8ccdb098cfbb602018ca404eae03a207bb..01153efd77071f12d4023bb540901b98106979be 100644
--- a/src/cutecoin/models/network.py
+++ b/src/cutecoin/models/network.py
@@ -35,14 +35,16 @@ class NetworkFilterProxyModel(QSortFilterProxyModel):
         if role != Qt.DisplayRole:
             return QVariant()
 
-        header_names = {'pubkey': 'Pubkey',
-                        'is_member': 'Member',
-                        'uid': 'UID',
-                        'address': 'Address',
-                        'port': 'Port',
-                        'current_block': 'Block'}
-        type = self.sourceModel().headerData(section, orientation, role)
-        return header_names[type]
+        header_names = {
+            'address': 'Address',
+            'port': 'Port',
+            'current_block': 'Block',
+            'uid': 'UID',
+            'is_member': 'Member',
+            'pubkey': 'Pubkey'
+        }
+        _type = self.sourceModel().headerData(section, orientation, role)
+        return header_names[_type]
 
     def data(self, index, role):
         source_index = self.mapToSource(index)
@@ -50,14 +52,20 @@ class NetworkFilterProxyModel(QSortFilterProxyModel):
             return QVariant()
         source_data = self.sourceModel().data(source_index, role)
         if index.column() == self.sourceModel().column_types.index('is_member') \
-         and role == Qt.DisplayRole:
+                and role == Qt.DisplayRole:
             value = {True: 'yes', False: 'no', None: 'offline'}
             return value[source_data]
+
+        if role == Qt.TextAlignmentRole:
+            if source_index.column() == self.sourceModel().column_types.index('address') or source_index.column() == self.sourceModel().column_types.index('current_block'):
+                return Qt.AlignRight | Qt.AlignVCenter
+            if source_index.column() == self.sourceModel().column_types.index('is_member'):
+                return Qt.AlignCenter
+
         return source_data
 
 
 class NetworkTableModel(QAbstractTableModel):
-
     '''
     A Qt abstract item model to display
     '''
@@ -69,13 +77,25 @@ class NetworkTableModel(QAbstractTableModel):
         super().__init__(parent)
         self.community = community
         self.column_types = (
-            'pubkey',
-            'is_member',
-            'uid',
             'address',
             'port',
-            'current_block'
+            'current_block',
+            'uid',
+            'is_member',
+            'pubkey'
         )
+        self.node_colors = {
+            Node.ONLINE: QColor('#99ff99'),
+            Node.OFFLINE: QColor('#ff9999'),
+            Node.DESYNCED: QColor('#ffbd81'),
+            Node.CORRUPTED: QColor(Qt.lightGray)
+        }
+        self.node_states = {
+            Node.ONLINE: 'Online',
+            Node.OFFLINE: 'Offline',
+            Node.DESYNCED: 'Unsynchronized',
+            Node.CORRUPTED: 'Corrupted'
+        }
 
     @property
     def nodes(self):
@@ -114,7 +134,7 @@ class NetworkTableModel(QAbstractTableModel):
             address = node.endpoint.ipv6
         port = node.endpoint.port
 
-        return node.pubkey, is_member, node.uid, address, port, node.block
+        return address, port, node.block, node.uid, is_member, node.pubkey
 
     def data(self, index, role):
         row = index.row()
@@ -127,19 +147,11 @@ class NetworkTableModel(QAbstractTableModel):
         if role == Qt.DisplayRole:
             return self.data_node(node)[col]
         if role == Qt.BackgroundColorRole:
-            colors = {Node.ONLINE: QVariant(),
-                      Node.OFFLINE: QColor(Qt.darkRed),
-                      Node.DESYNCED: QColor(Qt.gray),
-                      Node.CORRUPTED: QColor(Qt.darkRed)
-                      }
-            return colors[node.state]
-        if role == Qt.ForegroundRole:
-            colors = {Node.ONLINE: QVariant(),
-                      Node.OFFLINE: QColor(Qt.lightGray),
-                      Node.DESYNCED: QColor(Qt.black),
-                      Node.CORRUPTED: QColor(Qt.lightGray)
-                      }
-            return colors[node.state]
+            return self.node_colors[node.state]
+        if role == Qt.ToolTipRole:
+            return self.node_states[node.state]
+
+        return QVariant()
 
     def flags(self, index):
         return Qt.ItemIsSelectable | Qt.ItemIsEnabled