diff --git a/main.go b/main.go
index d89ea0f87bebc746e7ff37fc97e7c43fa7b7cdfd..12e29346edccdaafb59c40d9db6f34f9aee4a61d 100644
--- a/main.go
+++ b/main.go
@@ -1,19 +1,20 @@
 package main
 
 import (
-	"os"
-	"net/http"
-	"io"
-	"path/filepath"
-	"encoding/json"
-	"github.com/go-redis/redis"
-	"fmt"
-	"encoding/base64"
 	"crypto/rand"
-	"time"
 	"database/sql"
+	"encoding/base64"
+	"encoding/json"
+	"fmt"
+	"github.com/go-redis/redis"
 	_ "github.com/lib/pq"
 	"html/template"
+	"io"
+	"mime/multipart"
+	"net/http"
+	"os"
+	"path/filepath"
+	"time"
 )
 
 func writeBody(reader io.ReadCloser, path string) error {
@@ -52,7 +53,7 @@ func generateId() string {
 	return base64.URLEncoding.WithPadding(base64.NoPadding).EncodeToString(buffer)
 }
 
-func createImage(config *Config, body io.ReadCloser) (Image, error) {
+func createImage(config *Config, body io.ReadCloser, fileHeader *multipart.FileHeader) (Image, error) {
 	id := generateId()
 	path := filepath.Join(config.SourceFolder, id)
 
@@ -67,8 +68,10 @@ func createImage(config *Config, body io.ReadCloser) (Image, error) {
 	}
 
 	image := Image{
-		Id:       id,
-		MimeType: mimeType,
+		Id:           id,
+		OriginalName: filepath.Base(fileHeader.Filename),
+		CreatedAt:    time.Now(),
+		MimeType:     mimeType,
 	}
 	return image, nil
 }
@@ -131,8 +134,8 @@ func main() {
 			user := parseUser(r)
 
 			r.ParseMultipartForm(32 << 20)
-			file, _, err := r.FormFile("file")
-			image, err := createImage(&config, file)
+			file, fileheader, err := r.FormFile("file")
+			image, err := createImage(&config, file, fileheader)
 			if err != nil {
 				returnResult(w, Result{
 					Id:      "",
@@ -142,7 +145,7 @@ func main() {
 				return
 			}
 
-			_, err = db.Exec("INSERT INTO images (id, owner) VALUES ($1, $2)", image.Id, user.Id)
+			_, err = db.Exec("INSERT INTO images (id, owner, created_at, original_name, type) VALUES ($1, $2, $3, $4, $5)", image.Id, user.Id, image.CreatedAt, image.OriginalName, image.MimeType)
 			if err != nil {
 				panic(err)
 			}
@@ -221,29 +224,29 @@ func main() {
 
 		type ImageListData struct {
 			User   UserInfo
-			Images []string
+			Images []Image
 		}
 
-		result, err := db.Query("SELECT id FROM images WHERE owner = $1", user.Id)
+		result, err := db.Query("SELECT id, title, description, created_at, original_name, type FROM images WHERE owner = $1", user.Id)
 		if err != nil {
 			panic(err)
 		}
 
-		var images []string
+		var images []Image
 		for result.Next() {
-			var id string
-			err := result.Scan(&id)
+			var info Image
+			err := result.Scan(&info.Id, &info.Title, &info.Description, &info.CreatedAt, &info.OriginalName, &info.MimeType)
 			if err != nil {
 				panic(err)
 			}
-			images = append(images, id)
+			images = append(images, info)
 		}
 
-		tmpl, err := template.New("me_images").ParseFiles("templates/me_images")
+		template, err := template.New("me_images").ParseFiles("templates/me_images")
 		if err != nil {
 			panic(err)
 		}
-		err = tmpl.Execute(w, ImageListData{
+		err = template.Execute(w, ImageListData{
 			user,
 			images,
 		})
diff --git a/templates/me_images b/templates/me_images
index 53061dd8f8f2ce842fe16037ea47b102208a5ec1..d0bf232aaeb8eb1ca9059c7271dfc0789cb8c2d1 100644
--- a/templates/me_images
+++ b/templates/me_images
@@ -8,7 +8,10 @@
 </p>
 
 {{ range .Images }}
-    <a href="/i/{{ . }}">
-        <img src="/i/{{ . }}t" >
+    <a href="/i/{{ .Id }}">
+        <img src="/i/{{ .Id }}t" >
+        <p>{{ .OriginalName }}</p>
+        <p>{{ .CreatedAt }}</p>
+        <p>{{ .MimeType }}</p>
     </a>
 {{ end }}
\ No newline at end of file
diff --git a/types.go b/types.go
index ea1f2fec44e3470c7ace23fcc383817d49c8004d..2ea713f939eb5193892cb27f757bfac973f9a7ea 100644
--- a/types.go
+++ b/types.go
@@ -1,13 +1,18 @@
 package main
 
 import (
-	"os"
 	"encoding/json"
+	"os"
+	"time"
 )
 
 type Image struct {
-	Id       string `json:"id"`
-	MimeType string `json:"mime_type"`
+	Id           string `json:"id"`
+	Title        string
+	Description  string
+	CreatedAt    time.Time
+	OriginalName string
+	MimeType     string `json:"mime_type"`
 }
 
 type Result struct {
@@ -23,8 +28,8 @@ type Size struct {
 }
 
 const (
-	SIZE_FORMAT_COVER   = "cover"
-	SIZE_FORMAT_CONTAIN = "contain"
+	sizeFormatCover   = "cover"
+	sizeFormatContain = "contain"
 )
 
 type Quality struct {
@@ -73,4 +78,4 @@ func NewConfigFromEnv() Config {
 	config.Database.Url = os.Getenv("IK8R_DATABASE_URL")
 
 	return config
-}
\ No newline at end of file
+}