diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 36809f3..d22dc95 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -32,4 +32,6 @@ dependencies {
     implementation 'com.firebaseui:firebase-ui-auth:4.1.0'
     // http://mvnrepository.com/artifact/postgresql/postgresql
     implementation group: 'postgresql', name: 'postgresql', version: '9.1-901.jdbc4'
+    implementation 'com.squareup.picasso:picasso:2.71828'
+    implementation 'com.android.support:swiperefreshlayout:28.0.0-alpha1'
 }
diff --git a/app/src/main/java/at/smartshopper/smartshopper/Dash.java b/app/src/main/java/at/smartshopper/smartshopper/Dash.java
index 1c1e85c..9477ce9 100644
--- a/app/src/main/java/at/smartshopper/smartshopper/Dash.java
+++ b/app/src/main/java/at/smartshopper/smartshopper/Dash.java
@@ -1,11 +1,15 @@
 package at.smartshopper.smartshopper;
 
+import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
+import android.support.v4.widget.SwipeRefreshLayout;
 import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.Button;
 import android.widget.TabHost;
 
 import com.google.android.gms.tasks.OnCompleteListener;
@@ -23,6 +27,12 @@ import java.util.jar.JarInputStream;
 public class Dash extends AppCompatActivity {
 
     private Database db = new Database();
+    private SwipeRefreshLayout ownswiperefresh;
+
+    private void goLogin() {
+        Intent intent = new Intent(this, LoginActivity.class);
+        startActivity(intent);
+    }
 
 
     @Override
@@ -31,9 +41,17 @@ public class Dash extends AppCompatActivity {
         setContentView(R.layout.activity_dash);
 
 
-
         tabHoster();
 
+        Button logoutBtn = (Button) findViewById(R.id.logoutBtn);
+        logoutBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                FirebaseAuth.getInstance().signOut();
+                goLogin();
+            }
+        });
+
 
         /*
         Get userinformations
@@ -44,9 +62,7 @@ public class Dash extends AppCompatActivity {
             String name = user.getDisplayName();
             String email = user.getEmail();
             Uri photoUrl = user.getPhotoUrl();
-            RecyclerView ownRecycleView = (RecyclerView) findViewById(R.id.ownrecycler);
-            ownRecycleView.setHasFixedSize(true);
-            ownRecycleView.setLayoutManager(new LinearLayoutManager(this));
+
 
             // Check if user's email is verified
             boolean emailVerified = user.isEmailVerified();
@@ -54,20 +70,67 @@ public class Dash extends AppCompatActivity {
             // The user's ID, unique to the Firebase project. Do NOT use this value to
             // authenticate with your backend server, if you have one. Use
             // FirebaseUser.getIdToken() instead.
-            String uid = user.getUid();
+            final String uid = user.getUid();
+
 
             try {
-                List<Shoppinglist> ownListsList = db.getMyShoppinglists(uid);
-
-                ShoppinglistAdapter shpAdapter = new ShoppinglistAdapter(Dash.this, ownListsList);
-
-                ownRecycleView.setAdapter(shpAdapter);
-            }catch (JSONException e){
+                showOwnShoppingList(uid);
+            } catch (JSONException e) {
                 e.printStackTrace();
             }
+            ownswiperefresh = (SwipeRefreshLayout) findViewById(R.id.ownSwipe);
+
+            ownswiperefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+                @Override
+                public void onRefresh() {
+                    refreshOwnShoppinglist(uid);
+
+                }
+            });
+
+
         }
     }
 
+    /**
+     * Refreshed die eigene shoppinglist und veranlasst das das refreshen beendet wird
+     * @param uid Von dem benutzer von welchem die Shoppinglists angezeigt werden sollen
+     */
+    private void refreshOwnShoppinglist(String uid){
+        try {
+            showOwnShoppingList(uid);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        refreshOwnShoppinglistFinish();
+    }
+
+    /**
+     * Stoppt das refreshen der OwnShoppinglist
+     */
+    private void refreshOwnShoppinglistFinish() {
+        // Update the adapter and notify data set changed
+        // ...
+
+        // Stop refresh animation
+        ownswiperefresh.setRefreshing(false);
+    }
+
+
+    /**
+     * Macht eine Datenbankverbindung und holt alle Shoppinglists die dem User gehören, diese werden auf dem recycled view angezeigt
+     *
+     * @param uid Die UserId damit von diesem user die shoppinglisten angezeigt werden
+     */
+    private void showOwnShoppingList(String uid) throws JSONException {
+        RecyclerView ownRecycleView = (RecyclerView) findViewById(R.id.ownrecycler);
+        ownRecycleView.setHasFixedSize(true);
+        ownRecycleView.setLayoutManager(new LinearLayoutManager(this));
+        List<Shoppinglist> ownListsList = db.getMyShoppinglists(uid);
+        ShoppinglistAdapter shpAdapter = new ShoppinglistAdapter(Dash.this, ownListsList);
+        ownRecycleView.setAdapter(shpAdapter);
+    }
+
     /**
      * Ist dafür Zuständig das es Tabs in der App gibt. Ohne dieser Funktion werden die Tabs nichtmehr Angezeigt.
      * Hier wird auch der Name der Tabs gesetzt
diff --git a/app/src/main/java/at/smartshopper/smartshopper/RoundCornersTransformation.java b/app/src/main/java/at/smartshopper/smartshopper/RoundCornersTransformation.java
new file mode 100644
index 0000000..5ef900f
--- /dev/null
+++ b/app/src/main/java/at/smartshopper/smartshopper/RoundCornersTransformation.java
@@ -0,0 +1,152 @@
+package at.smartshopper.smartshopper;
+
+import android.graphics.Bitmap;
+import android.graphics.Bitmap.Config;
+import android.graphics.BitmapShader;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Path;
+import android.graphics.RectF;
+import android.graphics.Shader;
+
+
+// enables hardware accelerated rounded corners
+// original idea here : http://www.curious-creature.org/2012/12/11/android-recipe-1-image-with-rounded-corners/
+// https://gist.github.com/aprock/6213395
+// https://gist.github.com/amardeshbd/06b491d4adb568b1b226a20d4953a180
+public class RoundCornersTransformation implements com.squareup.picasso.Transformation {
+    private final int radius;  // dp
+    private final int margin;  // dp
+    private String KEY = "";
+    private boolean topCorners = true;
+    private boolean bottomCorners = true;
+
+    /**
+     * Creates rounded transformation for all corners.
+     *
+     * @param radius radius is corner radii in dp
+     * @param margin margin is the board in dp
+     */
+    public RoundCornersTransformation(final int radius, final int margin) {
+        this.radius = radius;
+        this.margin = margin;
+        if (KEY.isEmpty()) KEY = "rounded_" + radius + margin;
+    }
+
+
+    /**
+     * Creates rounded transformation for top or bottom corners.
+     *
+     * @param radius radius is corner radii in dp
+     * @param margin margin is the board in dp
+     * @param topCornersOnly Rounded corner for top corners only.
+     * @param bottomCornersOnly Rounded corner for bottom corners only.
+     */
+    public RoundCornersTransformation(final int radius, final int margin, boolean topCornersOnly,
+                                      boolean bottomCornersOnly) {
+        this(radius, margin);
+        topCorners = topCornersOnly;
+        bottomCorners = bottomCornersOnly;
+        KEY = "rounded_" + radius + margin + topCorners + bottomCorners;
+    }
+
+    @Override
+    public Bitmap transform(final Bitmap source) {
+        final Paint paint = new Paint();
+        paint.setAntiAlias(true);
+        paint.setShader(new BitmapShader(source, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));
+
+        Bitmap output = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Config.ARGB_8888);
+        Canvas canvas = new Canvas(output);
+        if(topCorners && bottomCorners) {
+            // Uses native method to draw symmetric rounded corners
+            canvas.drawRoundRect(new RectF(margin, margin, source.getWidth() - margin,
+                    source.getHeight() - margin), radius, radius, paint);
+        } else {
+            // Uses custom path to generate rounded corner individually
+            canvas.drawPath(RoundedRect(margin, margin, source.getWidth() - margin,
+                    source.getHeight() - margin, radius, radius, topCorners, topCorners,
+                    bottomCorners, bottomCorners), paint);
+        }
+
+
+        if (source != output) {
+            source.recycle();
+        }
+
+        return output;
+    }
+
+
+    @Override
+    public String key() {
+        return "rounded_" + radius + margin;
+//        return KEY;
+    }
+
+    /**
+     * Prepares a path for rounded corner selectively.
+     * Source taken from http://stackoverflow.com/a/35668889/6635889
+     * @param leftX The X coordinate of the left side of the rectangle
+     * @param topY The Y coordinate of the top of the rectangle
+     * @param rightX The X coordinate of the right side of the rectangle
+     * @param bottomY The Y coordinate of the bottom of the rectangle
+     * @param rx The x-radius of the oval used to round the corners
+     * @param ry The y-radius of the oval used to round the corners
+     * @param topLeft
+     * @param topRight
+     * @param bottomRight
+     * @param bottomLeft
+     * @return
+     */
+    public static Path RoundedRect(float leftX, float topY, float rightX, float bottomY, float rx,
+                                   float ry, boolean topLeft, boolean topRight, boolean
+                                           bottomRight, boolean bottomLeft) {
+        Path path = new Path();
+        if (rx < 0) rx = 0;
+        if (ry < 0) ry = 0;
+        float width = rightX - leftX;
+        float height = bottomY - topY;
+        if (rx > width / 2) rx = width / 2;
+        if (ry > height / 2) ry = height / 2;
+        float widthMinusCorners = (width - (2 * rx));
+        float heightMinusCorners = (height - (2 * ry));
+
+        path.moveTo(rightX, topY + ry);
+        if (topRight)
+            path.rQuadTo(0, -ry, -rx, -ry);//top-right corner
+        else{
+            path.rLineTo(0, -ry);
+            path.rLineTo(-rx,0);
+        }
+        path.rLineTo(-widthMinusCorners, 0);
+        if (topLeft)
+            path.rQuadTo(-rx, 0, -rx, ry); //top-left corner
+        else{
+            path.rLineTo(-rx, 0);
+            path.rLineTo(0,ry);
+        }
+        path.rLineTo(0, heightMinusCorners);
+
+        if (bottomLeft)
+            path.rQuadTo(0, ry, rx, ry);//bottom-left corner
+        else{
+            path.rLineTo(0, ry);
+            path.rLineTo(rx,0);
+        }
+
+        path.rLineTo(widthMinusCorners, 0);
+        if (bottomRight)
+            path.rQuadTo(rx, 0, rx, -ry); //bottom-right corner
+        else{
+            path.rLineTo(rx,0);
+            path.rLineTo(0, -ry);
+        }
+
+        path.rLineTo(0, -heightMinusCorners);
+
+        path.close();//Given close, last lineto can be removed.
+
+        return path;
+    }
+}
diff --git a/app/src/main/java/at/smartshopper/smartshopper/ShoppinglistAdapter.java b/app/src/main/java/at/smartshopper/smartshopper/ShoppinglistAdapter.java
index 7abab11..a26915b 100644
--- a/app/src/main/java/at/smartshopper/smartshopper/ShoppinglistAdapter.java
+++ b/app/src/main/java/at/smartshopper/smartshopper/ShoppinglistAdapter.java
@@ -1,6 +1,7 @@
 package at.smartshopper.smartshopper;
 
 import android.content.Context;
+import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
@@ -11,6 +12,7 @@ import android.widget.TextView;
 
 import com.google.firebase.auth.FirebaseAuth;
 import com.google.firebase.auth.FirebaseUser;
+import com.squareup.picasso.Picasso;
 
 import java.util.List;
 
@@ -33,13 +35,13 @@ public class ShoppinglistAdapter extends RecyclerView.Adapter<ShoppinglistAdapte
     public ShoppinglistViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
         //inflating and returning our view holder
         LayoutInflater inflater = LayoutInflater.from(mCtx);
-        View view = inflater.inflate(R.layout.cardview, null);
+        View view = inflater.inflate(R.layout.cardview, parent, false);
         return new ShoppinglistViewHolder(view);
     }
 
     @Override
     public void onBindViewHolder(ShoppinglistViewHolder holder, int position) {
-        //getting the product of the specified position
+        //getting the product of the specified position,
         Shoppinglist shoppinglist = this.shoppinglist.get(position);
 
         //binding the data with the viewholder views
@@ -51,7 +53,9 @@ public class ShoppinglistAdapter extends RecyclerView.Adapter<ShoppinglistAdapte
             // Name, email address, and profile photo Url
             String name = user.getDisplayName();
             Uri photoUrl = user.getPhotoUrl();
-            holder.imageView.setImageURI(photoUrl);
+            holder.ownerName.setText(name);
+            Picasso.get().load(photoUrl).resize(250, 250).transform(new RoundCornersTransformation(30, 30, true, true)).into(holder.imageView);
+           // holder.imageView.setImageDrawable(Drawable.createFromPath("@drawable/common_google_signin_btn_icon_dark"));
 
             // Check if user's email is verified
 
@@ -73,7 +77,7 @@ public class ShoppinglistAdapter extends RecyclerView.Adapter<ShoppinglistAdapte
 
     class ShoppinglistViewHolder extends RecyclerView.ViewHolder {
 
-        TextView textViewTitle, textViewBeschreibung;
+        TextView textViewTitle, textViewBeschreibung, ownerName;
         ImageView imageView;
 
         public ShoppinglistViewHolder(View itemView) {
@@ -82,6 +86,7 @@ public class ShoppinglistAdapter extends RecyclerView.Adapter<ShoppinglistAdapte
             textViewTitle = itemView.findViewById(R.id.shoppinglistName);
             textViewBeschreibung = itemView.findViewById(R.id.shoppinglistBeschreibung);
             imageView = itemView.findViewById(R.id.shoppinglistOwner);
+            ownerName = itemView.findViewById(R.id.ownerName);
         }
     }
 }
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_dash.xml b/app/src/main/res/layout/activity_dash.xml
index c6c5fbb..cf568af 100644
--- a/app/src/main/res/layout/activity_dash.xml
+++ b/app/src/main/res/layout/activity_dash.xml
@@ -46,21 +46,18 @@
                             android:layout_height="wrap_content"
                             android:text="Logout" />
 
-                        <TextView
-                            android:id="@+id/textView"
+                        <android.support.v4.widget.SwipeRefreshLayout
+                            xmlns:android="http://schemas.android.com/apk/res/android"
+                            android:id="@+id/ownSwipe"
                             android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:text="Eigene Einkaufslisten"
-                            android:textAlignment="center"
-                            android:textSize="18sp"
-                            android:textStyle="bold" />
-
-                        <android.support.v7.widget.RecyclerView
-                            android:id="@+id/ownrecycler"
-                            android:layout_width="match_parent"
-                            android:layout_height="match_parent" />
+                            android:layout_height="match_parent">
 
+                            <android.support.v7.widget.RecyclerView
+                                android:id="@+id/ownrecycler"
+                                android:layout_width="match_parent"
+                                android:layout_height="match_parent" />
 
+                        </android.support.v4.widget.SwipeRefreshLayout>
 
                     </LinearLayout>
 
@@ -84,14 +81,6 @@
                             android:layout_height="wrap_content"
                             android:text="Logout" />
 
-                        <TextView
-                            android:id="@+id/textView2"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:text="Geteilte Einkaufslisten"
-                            android:textAlignment="center"
-                            android:textStyle="bold" />
-
                         <android.support.v7.widget.RecyclerView
                             android:id="@+id/sharedrecycler"
                             android:layout_width="match_parent"
diff --git a/app/src/main/res/layout/cardview.xml b/app/src/main/res/layout/cardview.xml
index b83a020..af934fd 100644
--- a/app/src/main/res/layout/cardview.xml
+++ b/app/src/main/res/layout/cardview.xml
@@ -16,8 +16,10 @@
             android:id="@+id/shoppinglistOwner"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginStart="8dp"
-            android:layout_marginTop="8dp"
+            android:layout_marginStart="15dp"
+            android:scaleType="centerCrop"
+            card_view:layout_constraintStart_toStartOf="parent"
+            card_view:layout_constraintTop_toTopOf="parent"
             tools:srcCompat="@drawable/common_google_signin_btn_icon_dark" />
 
         <TextView
@@ -31,7 +33,7 @@
             android:textSize="18sp"
             android:textStyle="bold"
             card_view:layout_constraintEnd_toEndOf="parent"
-            card_view:layout_constraintStart_toStartOf="parent"
+            card_view:layout_constraintStart_toEndOf="@+id/shoppinglistOwner"
             card_view:layout_constraintTop_toTopOf="parent" />
 
         <TextView
@@ -41,11 +43,24 @@
             android:layout_marginStart="8dp"
             android:layout_marginTop="8dp"
             android:layout_marginEnd="8dp"
+            android:layout_marginBottom="8dp"
             android:text="Beschreibung"
+            card_view:layout_constraintBottom_toBottomOf="parent"
             card_view:layout_constraintEnd_toEndOf="parent"
-            card_view:layout_constraintHorizontal_bias="0.498"
-            card_view:layout_constraintStart_toStartOf="parent"
+            card_view:layout_constraintStart_toEndOf="@+id/shoppinglistOwner"
             card_view:layout_constraintTop_toBottomOf="@+id/shoppinglistName" />
+
+        <TextView
+            android:id="@+id/ownerName"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="15dp"
+            android:layout_marginBottom="8dp"
+            android:text="OwnerName"
+            android:textSize="10sp"
+            card_view:layout_constraintBottom_toBottomOf="parent"
+            card_view:layout_constraintStart_toStartOf="parent"
+            card_view:layout_constraintTop_toBottomOf="@+id/shoppinglistOwner" />
     </android.support.constraint.ConstraintLayout>
 
 </android.support.v7.widget.CardView>
\ No newline at end of file