diff --git a/Implementace/controllers/groups_overview_controller.py b/Implementace/controllers/groups_overview_controller.py
index b638d592a6929194c1dfe51f03646981b847771a..f67983bc6fb3af86eddb7ee9255f23ad2c7fcf08 100644
--- a/Implementace/controllers/groups_overview_controller.py
+++ b/Implementace/controllers/groups_overview_controller.py
@@ -49,4 +49,4 @@ class GroupsOverview(QWidget, groupsoverview.Ui_Form):
 
     @pyqtSlot(Member)
     def editMember(self, person):
-        print(person.id_)
+        self.main_window.goToMemberOverview(person)
diff --git a/Implementace/controllers/mainwindow_controller.py b/Implementace/controllers/mainwindow_controller.py
index dec7b1811c21f8e540b31a1afe640291f8f03908..c15f51672efcd32e6cc968a0f7a1b6a662244427 100644
--- a/Implementace/controllers/mainwindow_controller.py
+++ b/Implementace/controllers/mainwindow_controller.py
@@ -5,6 +5,7 @@ from controllers.distribution_overview_controller import DistributionOverview
 from controllers.distribution_setup_controller import DistributionSetup
 from controllers.group_edit_controller import GroupEdit
 from controllers.groups_overview_controller import GroupsOverview
+from controllers.member_overview import MemberOverview
 from globals import Global
 from windows import mainwindow
 
@@ -14,8 +15,8 @@ class MainWindow(Qt.QMainWindow, mainwindow.Ui_MainWindow):
         super(MainWindow, self).__init__(parent)
         self.setupUi(self)
         self.btnBack.clicked.connect(self.goBack)
-        # self.goToGroupsOverview()
-        self.goToDistributionOverview()
+        self.goToGroupsOverview()
+        # self.goToDistributionOverview()
         self._last_changed = 0
 
     def _goToWidget(self, widget):
@@ -66,6 +67,13 @@ class MainWindow(Qt.QMainWindow, mainwindow.Ui_MainWindow):
                  }
         self._goToWidget(DistributionOverview(self, teams))
 
+    def goToMemberOverview(self, member):
+        """
+        change active window to MemberOverview()
+        :param member: 
+        """
+        self._goToWidget(MemberOverview(self, member))
+
     def reset(self):
         """
         Set application to default state (effectively this means emptying 'back' stack and going to GroupsOverview()
diff --git a/Implementace/controllers/member_overview.py b/Implementace/controllers/member_overview.py
new file mode 100644
index 0000000000000000000000000000000000000000..5c6f3af98dafd73596ca8800871dd047276c4175
--- /dev/null
+++ b/Implementace/controllers/member_overview.py
@@ -0,0 +1,21 @@
+from PyQt5.QtWidgets import QWidget
+
+from utils.history_count_table import HistoryCountTable
+from windows import member_overview
+from globals import Global
+
+
+class MemberOverview(QWidget, member_overview.Ui_Form):
+    def __init__(self, mainwindow, member, parent=None):
+        super(MemberOverview, self).__init__(parent)
+        self.setupUi(self)
+
+        self.main_window = mainwindow
+
+        self.member = member
+        self.lblName.setText(self.member.name)
+        self.lblSurname.setText(self.member.surname)
+        self.lblGroup.setText(self.member.group_name)
+
+        self.tableCount = HistoryCountTable(data=Global.db.getHistoryCount(self.member.id_), parent=self)
+        self.tab2_layout.addWidget(self.tableCount)
diff --git a/Implementace/database.py b/Implementace/database.py
index 5d4af03a8bdd610f8dec062a3c8b16ed9ba2f256..814e6833bca0ede912d8a78546d0aaa35ccc6f1e 100644
--- a/Implementace/database.py
+++ b/Implementace/database.py
@@ -1,6 +1,9 @@
 import sqlite3 as sqlite
+
+from model.distribution import Distribution
 from model.group import Group
 from model.member import Member
+from model.team import Team
 
 
 class Database:
@@ -49,6 +52,7 @@ class Database:
         curs.execute('''INSERT INTO groups (name) VALUES (?) ''', (name,))
         return Group(curs.lastrowid, name)
 
+    #TODO other tables
     def deleteGroup(self, group_id):
         """
         delete group and all its members
@@ -132,3 +136,60 @@ class Database:
         curs = self.connection.cursor()
         for member in members:
             curs.execute('''INSERT INTO member_to_team (member_id, team_id) VALUES (?, ?)''', (member.id_, team_id,))
+
+    def getGroupName(self, group_id):
+        """
+        :param group_id: 
+        :return: group name 
+        """
+        curs = self.connection.execute('''SELECT name FROM groups WHERE group_id = ?''', (group_id,))
+        row = curs.fetchone()
+        return row['name']
+
+    def getHistoryCount(self, member_id):
+        """
+        :param member_id: 
+        :return: list (member, count how many times he was in the same team,) 
+        """
+        curs = self.connection.execute('''SELECT * FROM member_history_view WHERE member_id = ?''', (member_id,))
+        res = []
+        for row in curs:
+            res.append((Member(row['with_member_id'], row['name'], row['surname'], row['group_id']), row['times_together'],))
+        return res
+
+    def getDistributionsByGroupID(self, group_id):
+        """
+        :param group_id: 
+        :return: list of all Distribution(s) of given group  
+        """
+        curs = self.connection.execute('''SELECT * FROM distribution WHERE group_id = ?''', (group_id,))
+        res = []
+        for row in curs:
+            teams = self.getTeamsByDistributionID(row['distribution_id'])
+            res.append(Distribution(row['name'], teams, row['distribution_id']))
+        return res
+
+    def getTeamsByDistributionID(self, distribution_id):
+        """
+        :param distribution_id: 
+        :return: list of Team(s) in given distribution
+        """
+        curs = self.connection.execute('''SELECT * FROM team WHERE distribution_id = ?''', (distribution_id,))
+        res = []
+        for row in curs:
+            members = self.getMembersByTeamId(row['team_id'])
+            res.append(Team(row['team_id'], row['name'], members))
+        return res
+
+    def getMembersByTeamId(self, team_id):
+        """
+        :param team_id: 
+        :return: list of Member(s) in given team
+        """
+        curs = self.connection.execute('''SELECT * FROM member_to_team 
+                                        JOIN member ON member_to_team.member_id = member.member_id
+                                        WHERE team_id = ?''', (team_id,))
+        res = []
+        for row in curs:
+            res.append(Member(row['member_id'], row['name'], row['surname'], row['group_id']))
+        return res
diff --git a/Implementace/model/member.py b/Implementace/model/member.py
index 544451201c99e0c589d8fe9c89578e2cb2ac3c98..302f3bb5cede4ac63e0f4ea2d6be6c1faaeb7acd 100644
--- a/Implementace/model/member.py
+++ b/Implementace/model/member.py
@@ -1,4 +1,4 @@
-
+from globals import Global
 
 class Member:
     def __init__(self, id_, name, surname, group_id):
@@ -6,3 +6,7 @@ class Member:
         self.name = name
         self.surname = surname
         self.group_id = group_id
+
+    @property
+    def group_name(self):
+        return Global.db.getGroupName(self.group_id)
diff --git a/Implementace/utils/history_count_table.py b/Implementace/utils/history_count_table.py
new file mode 100644
index 0000000000000000000000000000000000000000..04245b8b52dd83c15d1f650b255c068d7453e475
--- /dev/null
+++ b/Implementace/utils/history_count_table.py
@@ -0,0 +1,11 @@
+from utils.qtmodels.history_count_table_model import HistoryCountTableModel
+from utils.table import ElemTable
+
+
+class HistoryCountTable(ElemTable):
+    def __init__(self, num_of_buttons=0, button_titles=(), data=[], parent=None):
+        super(HistoryCountTable, self).__init__(HistoryCountTableModel(data, num_of_buttons + 3), num_of_buttons, button_titles, parent)
+
+
+    def changeData(self, data):
+        self.setModel(HistoryCountTableModel(data, self._btn_amount + 2))
\ No newline at end of file
diff --git a/Implementace/utils/members_table.py b/Implementace/utils/members_table.py
index 84542b4954a6c38f75e46f0d15665d7895275afb..eca698482be7285e2f9226410b5de7e45a44c65d 100644
--- a/Implementace/utils/members_table.py
+++ b/Implementace/utils/members_table.py
@@ -8,4 +8,4 @@ class MembersTable(ElemTable):
 
 
     def changeData(self, data):
-        self.setModel(MembersTableModel(data, self._btn_amount + 2))
\ No newline at end of file
+        self.setModel(MembersTableModel(data, self._btn_amount + 2))
diff --git a/Implementace/utils/qtmodels/history_count_table_model.py b/Implementace/utils/qtmodels/history_count_table_model.py
new file mode 100644
index 0000000000000000000000000000000000000000..8b4a81854fe2001a21945d5725417aa25bbac661
--- /dev/null
+++ b/Implementace/utils/qtmodels/history_count_table_model.py
@@ -0,0 +1,39 @@
+from PyQt5 import QtGui, QtCore, uic
+
+
+class HistoryCountTableModel(QtCore.QAbstractTableModel):
+    def __init__(self, data={}, num_columns=3, parent=None):
+        super(HistoryCountTableModel, self).__init__(parent)
+        self._data = data
+        self._columns = num_columns
+
+    def rowCount(self, parent=None, *args, **kwargs):
+        return len(self._data)
+
+    def columnCount(self, parent=None, *args, **kwargs):
+        return self._columns
+
+    def headerData(self, p_int, Qt_Orientation, role=None):
+        if role == QtCore.Qt.DisplayRole:
+            if p_int == 0:
+                return 'Příjmení'
+            if p_int == 1:
+                return 'Jméno'
+            if p_int ==2:
+                return 'Ve stejném týmu'
+
+    def data(self, index, role=None):
+        person, count = self._data[index.row()]
+        if role == QtCore.Qt.DisplayRole:
+            if index.column() == 0:
+                return person.surname
+            if index.column() == 1:
+                return person.name
+            if index.column() == 2:
+                return str(count) + "x"
+
+        if role == QtCore.Qt.UserRole:
+            return person
+
+    def getElementById(self, person_id):
+        return next((person for person in self._data if person.id_ == int(person_id)), None)
diff --git a/Implementace/windows/member_overview.py b/Implementace/windows/member_overview.py
new file mode 100644
index 0000000000000000000000000000000000000000..c35d55c77d552791c9621df7546e7affa4d5de84
--- /dev/null
+++ b/Implementace/windows/member_overview.py
@@ -0,0 +1,91 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'memberoverview.ui'
+#
+# Created by: PyQt5 UI code generator 5.8.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_Form(object):
+    def setupUi(self, Form):
+        Form.setObjectName("Form")
+        Form.resize(837, 640)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(Form)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        spacerItem1 = QtWidgets.QSpacerItem(50, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.lblName = QtWidgets.QLabel(Form)
+        font = QtGui.QFont()
+        font.setPointSize(11)
+        font.setBold(True)
+        font.setWeight(75)
+        self.lblName.setFont(font)
+        self.lblName.setObjectName("lblName")
+        self.horizontalLayout_3.addWidget(self.lblName)
+        self.lblSurname = QtWidgets.QLabel(Form)
+        font = QtGui.QFont()
+        font.setPointSize(11)
+        font.setBold(True)
+        font.setWeight(75)
+        self.lblSurname.setFont(font)
+        self.lblSurname.setObjectName("lblSurname")
+        self.horizontalLayout_3.addWidget(self.lblSurname)
+        self.btnEdit = QtWidgets.QPushButton(Form)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.btnEdit.sizePolicy().hasHeightForWidth())
+        self.btnEdit.setSizePolicy(sizePolicy)
+        self.btnEdit.setMinimumSize(QtCore.QSize(30, 0))
+        self.btnEdit.setMaximumSize(QtCore.QSize(50, 16777215))
+        self.btnEdit.setObjectName("btnEdit")
+        self.horizontalLayout_3.addWidget(self.btnEdit)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem2)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.lblGroup = QtWidgets.QLabel(Form)
+        self.lblGroup.setAlignment(QtCore.Qt.AlignCenter)
+        self.lblGroup.setObjectName("lblGroup")
+        self.verticalLayout.addWidget(self.lblGroup)
+        self.tabWidget = QtWidgets.QTabWidget(Form)
+        self.tabWidget.setObjectName("tabWidget")
+        self.tab = QtWidgets.QWidget()
+        self.tab.setObjectName("tab")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.tab)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.treeView = QtWidgets.QTreeView(self.tab)
+        self.treeView.setObjectName("treeView")
+        self.horizontalLayout.addWidget(self.treeView)
+        self.tabWidget.addTab(self.tab, "")
+        self.tab2 = QtWidgets.QWidget()
+        self.tab2.setObjectName("tab2")
+        self.tab2_layout = QtWidgets.QHBoxLayout(self.tab2)
+        self.tab2_layout.setContentsMargins(0, 0, 0, 0)
+        self.tab2_layout.setObjectName("tab2_layout")
+        self.tabWidget.addTab(self.tab2, "")
+        self.verticalLayout.addWidget(self.tabWidget)
+        self.verticalLayout_2.addLayout(self.verticalLayout)
+
+        self.retranslateUi(Form)
+        self.tabWidget.setCurrentIndex(1)
+        QtCore.QMetaObject.connectSlotsByName(Form)
+
+    def retranslateUi(self, Form):
+        _translate = QtCore.QCoreApplication.translate
+        Form.setWindowTitle(_translate("Form", "Form"))
+        self.lblName.setText(_translate("Form", "Name"))
+        self.lblSurname.setText(_translate("Form", "Surname"))
+        self.btnEdit.setText(_translate("Form", "edit"))
+        self.lblGroup.setText(_translate("Form", "Group"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Form", "Tab 1"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab2), _translate("Form", "Tab 2"))
+
diff --git a/Implementace/windows/qt/memberoverview.ui b/Implementace/windows/qt/memberoverview.ui
new file mode 100644
index 0000000000000000000000000000000000000000..ebf35804960061f2f1eaa7fe067aef92de7b8247
--- /dev/null
+++ b/Implementace/windows/qt/memberoverview.ui
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>837</width>
+    <height>640</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_3">
+       <item>
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>50</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QLabel" name="lblName">
+         <property name="font">
+          <font>
+           <pointsize>11</pointsize>
+           <weight>75</weight>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>Name</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLabel" name="lblSurname">
+         <property name="font">
+          <font>
+           <pointsize>11</pointsize>
+           <weight>75</weight>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>Surname</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QPushButton" name="btnEdit">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>30</width>
+           <height>0</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>50</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="text">
+          <string>edit</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <widget class="QLabel" name="lblGroup">
+       <property name="text">
+        <string>Group</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QTabWidget" name="tabWidget">
+       <property name="currentIndex">
+        <number>1</number>
+       </property>
+       <widget class="QWidget" name="tab">
+        <attribute name="title">
+         <string>Tab 1</string>
+        </attribute>
+        <layout class="QHBoxLayout" name="horizontalLayout">
+         <item>
+          <widget class="QTreeView" name="treeView"/>
+         </item>
+        </layout>
+       </widget>
+       <widget class="QWidget" name="tab2">
+        <attribute name="title">
+         <string>Tab 2</string>
+        </attribute>
+        <layout class="QHBoxLayout" name="tab2_layout"/>
+       </widget>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/Implementace/windows/qt/qt.pro.user b/Implementace/windows/qt/qt.pro.user
index 6b06d064eb6a147ed5010bc43e52b956cdf6c392..60dab174ca0d68672b233863ff016759e7914852 100644
--- a/Implementace/windows/qt/qt.pro.user
+++ b/Implementace/windows/qt/qt.pro.user
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.2.1, 2017-04-09T18:45:14. -->
+<!-- Written by QtCreator 4.2.1, 2017-04-09T22:19:03. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>