diff --git a/MiniMatrixRPi/MiniMatrixRPi.pro b/MiniMatrixRPi/MiniMatrixRPi.pro
index 97bdbb3cb59e06dca399ed16e192bf426a071361..7aee54058eb9739adc6a82f38e2c82a7139ca7e7 100644
--- a/MiniMatrixRPi/MiniMatrixRPi.pro
+++ b/MiniMatrixRPi/MiniMatrixRPi.pro
@@ -14,7 +14,8 @@ DEFINES += QT_DEPRECATED_WARNINGS
 
 SOURCES += \
         main.cpp \
-    animhandler.cpp
+    animhandler.cpp \
+    browser.cpp
 
 RESOURCES += qml.qrc
 
@@ -30,4 +31,5 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
 !isEmpty(target.path): INSTALLS += target
 
 HEADERS += \
-    animhandler.h
+    animhandler.h \
+    browser.h
diff --git a/MiniMatrixRPi/browser.cpp b/MiniMatrixRPi/browser.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..ee895096438b77e8944bc3f525ef68dea25027da
--- /dev/null
+++ b/MiniMatrixRPi/browser.cpp
@@ -0,0 +1,28 @@
+#include "browser.h"
+
+Browser::Browser(QString path)
+{
+    QDir newDirectory(path);
+    currentDirectory = newDirectory;
+    ListDir();
+}
+
+void Browser::ChDir(QString relPath)
+{
+    QDir newDirectory(currentDirectory.currentPath() + relPath);
+    currentDirectory = newDirectory;
+    ListDir();
+}
+
+void Browser::ListDir()
+{
+    this->currentDirectory.setFilter(QDir::Dirs);
+    this->currentDirectory.setSorting(QDir::Name);
+    subdirs.clear();
+    subdirs += this->currentDirectory.entryList();
+    this->currentDirectory.setFilter(QDir::Files);
+    QStringList filter;
+    filter << ".qt4";
+    this->currentDirectory.setNameFilters(filter);
+    subdirs += this->currentDirectory.entryList();
+}
diff --git a/MiniMatrixRPi/browser.h b/MiniMatrixRPi/browser.h
new file mode 100644
index 0000000000000000000000000000000000000000..0cdf7d200d2096eaf0d475a741f9ea3b9502f570
--- /dev/null
+++ b/MiniMatrixRPi/browser.h
@@ -0,0 +1,18 @@
+#ifndef BROWSER_H
+#define BROWSER_H
+#include <QDir>
+#include <QString>
+#include <QStringList>
+
+class Browser
+{
+private:
+    QDir currentDirectory;
+    QStringList subdirs;
+public:
+    Browser(QString path);
+    void ChDir(QString relPath);
+    void ListDir();
+};
+
+#endif // BROWSER_H
diff --git a/MiniMatrixRPi/main.cpp b/MiniMatrixRPi/main.cpp
index c9eefe1daf087efa5db841dd92e77cb94b387c9f..810c091b4aa398baf60c5a48e41a70a68114e393 100644
--- a/MiniMatrixRPi/main.cpp
+++ b/MiniMatrixRPi/main.cpp
@@ -1,8 +1,7 @@
 #include <QGuiApplication>
 #include <QQmlApplicationEngine>
 #include "animhandler.h"
-#include <QDir>
-
+#include "browser.h"
 
 
 int main(int argc, char *argv[])
@@ -16,16 +15,8 @@ int main(int argc, char *argv[])
     if (engine.rootObjects().isEmpty())
         return -1;
 
-    QDir directory("/");
-    QStringList images = directory.entryList(QStringList(),QDir::Dirs);
-    foreach(QString filename, images) {
-        qDebug() << filename;
-    }
-
-
-//    connect(animhandler, &AnimHandler::resultReady, )
     Alma alma;
-
+    Browser browser("/");
     return app.exec();
 }
 
diff --git a/MiniMatrixRPi/mxframe.cpp b/MiniMatrixRPi/mxframe.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..7abd4a894fec496c8d1227953958bfc6c90341d9
--- /dev/null
+++ b/MiniMatrixRPi/mxframe.cpp
@@ -0,0 +1,6 @@
+#include "mxframe.h"
+
+MxFrame::MxFrame()
+{
+
+}
diff --git a/MiniMatrixRPi/mxframe.h b/MiniMatrixRPi/mxframe.h
new file mode 100644
index 0000000000000000000000000000000000000000..fc0d12f97c714b719a193eed24faef700af0489c
--- /dev/null
+++ b/MiniMatrixRPi/mxframe.h
@@ -0,0 +1,11 @@
+#ifndef MXFRAME_H
+#define MXFRAME_H
+
+
+class MxFrame
+{
+public:
+    MxFrame();
+};
+
+#endif // MXFRAME_H
\ No newline at end of file