diff --git a/core/kg/app/app.go b/core/kg/app/app.go
index 5d5527b..0c65fc8 100644
--- a/core/kg/app/app.go
+++ b/core/kg/app/app.go
@@ -1,18 +1,17 @@
 package app
 
 import (
-	"github.com/giolekva/pcloud/core/kg/log"
 	"github.com/giolekva/pcloud/core/kg/store"
 )
 
 // App represents an application layer of the kg
 type App struct {
 	store  store.Store
-	logger *log.Logger
+	logger logger
 }
 
 // NewApp creates new app
-func NewApp(store store.Store, logger *log.Logger) *App {
+func NewApp(store store.Store, logger logger) *App {
 	return &App{
 		store:  store,
 		logger: logger,
diff --git a/core/kg/app/app_mock.go b/core/kg/app/app_mock.go
new file mode 100644
index 0000000..f85e754
--- /dev/null
+++ b/core/kg/app/app_mock.go
@@ -0,0 +1,18 @@
+package app
+
+import (
+	"github.com/giolekva/pcloud/core/kg/log"
+	"github.com/giolekva/pcloud/core/kg/store/memory"
+)
+
+type MockApp struct {
+	*App
+}
+
+// NewTestApp creates app for testing
+func NewTestApp() *MockApp {
+	memStore := memory.New()
+	logger := &log.NoOpLogger{}
+	a := NewApp(memStore, logger)
+	return &MockApp{a}
+}
diff --git a/core/kg/app/interfaces.go b/core/kg/app/interfaces.go
new file mode 100644
index 0000000..53cb1aa
--- /dev/null
+++ b/core/kg/app/interfaces.go
@@ -0,0 +1,10 @@
+package app
+
+import "github.com/giolekva/pcloud/core/kg/log"
+
+type logger interface {
+	Debug(message string, fields ...log.Field)
+	Info(message string, fields ...log.Field)
+	Warn(message string, fields ...log.Field)
+	Error(message string, fields ...log.Field)
+}
diff --git a/core/kg/app/user.go b/core/kg/app/user.go
new file mode 100644
index 0000000..07ff301
--- /dev/null
+++ b/core/kg/app/user.go
@@ -0,0 +1,15 @@
+package app
+
+import (
+	"github.com/giolekva/pcloud/core/kg/model"
+	"github.com/pkg/errors"
+)
+
+// GetUser returns user
+func (a *App) GetUser(userID string) (*model.User, error) {
+	user, err := a.store.User().Get(userID)
+	if err != nil {
+		return nil, errors.Wrap(err, "can't get user from store")
+	}
+	return user, nil
+}
