Add get users rest endpoint
diff --git a/core/kg/app/app.go b/core/kg/app/app.go
index 0d8b312..8cdc0d6 100644
--- a/core/kg/app/app.go
+++ b/core/kg/app/app.go
@@ -1,6 +1,7 @@
 package app
 
 import (
+	"github.com/giolekva/pcloud/core/kg/common"
 	"github.com/giolekva/pcloud/core/kg/model"
 	"github.com/giolekva/pcloud/core/kg/store"
 )
@@ -9,11 +10,11 @@
 type App struct {
 	store  store.Store
 	config *model.Config
-	logger logger
+	logger common.LoggerIface
 }
 
 // NewApp creates new app
-func NewApp(store store.Store, config *model.Config, logger logger) *App {
+func NewApp(store store.Store, config *model.Config, logger common.LoggerIface) *App {
 	return &App{
 		store:  store,
 		config: config,
diff --git a/core/kg/app/app_mock.go b/core/kg/app/app_mock.go
index f85e754..41575ff 100644
--- a/core/kg/app/app_mock.go
+++ b/core/kg/app/app_mock.go
@@ -2,6 +2,7 @@
 
 import (
 	"github.com/giolekva/pcloud/core/kg/log"
+	"github.com/giolekva/pcloud/core/kg/model"
 	"github.com/giolekva/pcloud/core/kg/store/memory"
 )
 
@@ -13,6 +14,7 @@
 func NewTestApp() *MockApp {
 	memStore := memory.New()
 	logger := &log.NoOpLogger{}
-	a := NewApp(memStore, logger)
+	config := model.NewConfig()
+	a := NewApp(memStore, config, logger)
 	return &MockApp{a}
 }
diff --git a/core/kg/app/interfaces.go b/core/kg/app/interfaces.go
deleted file mode 100644
index 53cb1aa..0000000
--- a/core/kg/app/interfaces.go
+++ /dev/null
@@ -1,10 +0,0 @@
-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
index dd25e84..063c084 100644
--- a/core/kg/app/user.go
+++ b/core/kg/app/user.go
@@ -15,6 +15,7 @@
 	return user, nil
 }
 
+// CreateUser creates a user. For now it is used only for creation of the very first user
 func (a *App) CreateUser(user *model.User) (*model.User, error) {
 	if !a.isFirstUserAccount() {
 		return nil, errors.New("not a first user")
@@ -28,6 +29,15 @@
 	return updatedUser, nil
 }
 
+//GetUsers returns list of users
+func (a *App) GetUsers(page, perPage int) ([]*model.User, error) {
+	users, err := a.store.User().GetAllWithOptions(page, perPage)
+	if err != nil {
+		return nil, errors.Wrap(err, "can't get users with options from store")
+	}
+	return users, nil
+}
+
 func (a *App) isFirstUserAccount() bool {
 	count, err := a.store.User().Count()
 	if err != nil {