diff --git a/core/kg/api/rest/handler.go b/core/kg/api/rest/handler.go
new file mode 100644
index 0000000..dbc5882
--- /dev/null
+++ b/core/kg/api/rest/handler.go
@@ -0,0 +1,43 @@
+package rest
+
+import (
+	"encoding/json"
+	"net/http"
+)
+
+type HandlerFunc func(w http.ResponseWriter, r *http.Request) error
+
+// ServeHTTP calls f(w, r) and handles error
+func (f HandlerFunc) ServeHTTP(w http.ResponseWriter, r *http.Request) {
+	if err := f(w, r); err != nil {
+		jsoner(w, http.StatusBadRequest, err.Error()) // TODO detect the correct statusCode from error
+	}
+}
+
+func jsoner(w http.ResponseWriter, statusCode int, payload interface{}) error {
+	w.Header().Set("Content-Type", "application/json")
+
+	// If there is nothing to marshal then set status code and return.
+	if payload == nil {
+		_, err := w.Write([]byte("{}"))
+		return err
+	}
+
+	if statusCode != http.StatusOK {
+		w.WriteHeader(statusCode)
+	}
+
+	encoder := json.NewEncoder(w)
+	encoder.SetEscapeHTML(true)
+	encoder.SetIndent("", "")
+
+	if err := encoder.Encode(payload); err != nil {
+		return err
+	}
+
+	if f, ok := w.(http.Flusher); ok {
+		f.Flush()
+	}
+
+	return nil
+}
diff --git a/core/kg/api/rest/router.go b/core/kg/api/rest/router.go
index 8e695f2..c0bb33a 100644
--- a/core/kg/api/rest/router.go
+++ b/core/kg/api/rest/router.go
@@ -3,37 +3,43 @@
 import (
 	"net/http"
 
+	"github.com/giolekva/pcloud/core/kg/common"
 	"github.com/gorilla/mux"
 )
 
 const APIURLSuffix = "/api/v1"
 
-type Routers struct {
+type Router struct {
+	App    common.AppIface
+	Logger common.LoggerIface
+
 	Root    *mux.Router // ''
 	APIRoot *mux.Router // 'api/v1'
 	Users   *mux.Router // 'api/v1/users'
 	User    *mux.Router // 'api/v1/users/{user_id:[A-Za-z0-9]+}'
 }
 
-func NewRouter(root *mux.Router) *Routers {
+func NewRouter(root *mux.Router, app common.AppIface, logger common.LoggerIface) *Router {
 	apiRoot := root.PathPrefix(APIURLSuffix).Subrouter()
 	users := apiRoot.PathPrefix("/users").Subrouter()
 	user := apiRoot.PathPrefix("/users/{user_id:[A-Za-z0-9]+}").Subrouter()
 
-	routers := &Routers{
+	routers := &Router{
+		App:    app,
+		Logger: logger,
+
 		Root:    root,
 		APIRoot: apiRoot,
 		Users:   users,
 		User:    user,
 	}
+
 	root.Handle("/api/v1/{anything:.*}", http.HandlerFunc(http.NotFound))
 	routers.initUsers()
 
 	return routers
 }
 
-func (r *Routers) initUsers() {
-	r.Users.Handle("", http.HandlerFunc(createUser)).Methods("POST")
-	r.Users.Handle("", http.HandlerFunc(getUsers)).Methods("GET")
-	r.User.Handle("", http.HandlerFunc(getUser)).Methods("GET")
+func (router *Router) ServeHTTP(w http.ResponseWriter, req *http.Request) {
+	router.Root.ServeHTTP(w, req)
 }
diff --git a/core/kg/api/rest/user_service.go b/core/kg/api/rest/user_service.go
index 91c7cb6..c129b78 100644
--- a/core/kg/api/rest/user_service.go
+++ b/core/kg/api/rest/user_service.go
@@ -1,12 +1,52 @@
 package rest
 
-import "net/http"
+import (
+	"net/http"
 
-func createUser(w http.ResponseWriter, r *http.Request) {
+	"github.com/gorilla/mux"
+	"github.com/pkg/errors"
+)
+
+func (router *Router) initUsers() {
+	router.Users.Handle("", router.buildCreateUserHandler()).Methods("POST")
+	router.Users.Handle("", router.buildGetUsersHandler()).Methods("GET")
+	router.User.Handle("", router.buildGetUserHandler()).Methods("GET")
 }
 
-func getUsers(w http.ResponseWriter, r *http.Request) {
+func (router *Router) buildCreateUserHandler() http.Handler {
+	fn := func(w http.ResponseWriter, r *http.Request) error {
+		router.Logger.Debug("Rest API: create user")
+		return nil
+	}
+	return HandlerFunc(fn)
 }
 
-func getUser(w http.ResponseWriter, r *http.Request) {
+func (router *Router) buildGetUsersHandler() http.Handler {
+	fn := func(w http.ResponseWriter, r *http.Request) error {
+		router.Logger.Debug("Rest API: get users")
+		return nil
+	}
+	return HandlerFunc(fn)
+}
+
+func (router *Router) buildGetUserHandler() http.Handler {
+	fn := func(w http.ResponseWriter, r *http.Request) error {
+		router.Logger.Debug("Rest API: get user")
+		params := mux.Vars(r)
+
+		var userID string
+		var ok bool
+		if userID, ok = params["user_id"]; !ok {
+			return errors.New("missing parameter: user_id")
+		}
+		user, err := router.App.GetUser(userID)
+
+		if err != nil {
+			return errors.Wrapf(err, "can't get user from app")
+		}
+
+		jsoner(w, http.StatusOK, user)
+		return nil
+	}
+	return HandlerFunc(fn)
 }
diff --git a/core/kg/cmd/commands/root.go b/core/kg/cmd/commands/root.go
index 70a4d23..6316ab1 100644
--- a/core/kg/cmd/commands/root.go
+++ b/core/kg/cmd/commands/root.go
@@ -1,9 +1,11 @@
 package commands
 
 import (
+	"github.com/giolekva/pcloud/core/kg/app"
 	"github.com/giolekva/pcloud/core/kg/log"
 	"github.com/giolekva/pcloud/core/kg/model"
 	"github.com/giolekva/pcloud/core/kg/server"
+	"github.com/giolekva/pcloud/core/kg/store/memory"
 	"github.com/spf13/cobra"
 )
 
@@ -35,8 +37,11 @@
 	})
 	config := model.NewConfig()
 
-	grpcServer := server.NewGRPCServer(logger, config, nil)
-	httpServer := server.NewHTTPServer(logger, config, nil)
+	st := memory.New()
+	a := app.NewApp(st, logger)
+
+	grpcServer := server.NewGRPCServer(logger, config, a)
+	httpServer := server.NewHTTPServer(logger, config, a)
 
 	servers := server.New(logger)
 	servers.AddServers(grpcServer)
diff --git a/core/kg/server/http_server.go b/core/kg/server/http_server.go
index dd8151a..932d53b 100644
--- a/core/kg/server/http_server.go
+++ b/core/kg/server/http_server.go
@@ -12,38 +12,37 @@
 	"github.com/giolekva/pcloud/core/kg/common"
 	"github.com/giolekva/pcloud/core/kg/log"
 	"github.com/giolekva/pcloud/core/kg/model"
-	"github.com/giolekva/pcloud/core/kg/store"
 	"github.com/gorilla/mux"
 )
 
 // HTTPServerImpl http server implementation
 type HTTPServerImpl struct {
-	Log     common.LoggerIface
 	srv     *http.Server
-	routers *rest.Routers
+	routers *rest.Router
 	config  *model.Config
-	store   store.Store
+	app     common.AppIface
+	logger  common.LoggerIface
 }
 
 var _ Server = &HTTPServerImpl{}
 
 // NewHTTPServer creates new HTTP Server
-func NewHTTPServer(logger common.LoggerIface, config *model.Config, store store.Store) Server {
+func NewHTTPServer(logger common.LoggerIface, config *model.Config, app common.AppIface) Server {
 	a := &HTTPServerImpl{
-		Log:     logger,
-		routers: rest.NewRouter(mux.NewRouter()),
+		logger:  logger,
+		routers: rest.NewRouter(mux.NewRouter(), app, logger),
 		config:  config,
-		store:   store,
+		app:     app,
 	}
 
 	pwd, _ := os.Getwd()
-	a.Log.Info("HTTP server current working", log.String("directory", pwd))
+	a.logger.Info("HTTP server current working", log.String("directory", pwd))
 	return a
 }
 
 // Start method starts a http server
 func (a *HTTPServerImpl) Start() error {
-	a.Log.Info("Starting HTTP Server...")
+	a.logger.Info("Starting HTTP Server...")
 
 	a.srv = &http.Server{
 		Addr:         fmt.Sprintf("%s:%d", a.config.HTTP.Host, a.config.HTTP.Port),
@@ -53,9 +52,9 @@
 		IdleTimeout:  time.Duration(a.config.HTTP.IdleTimeout) * time.Second,
 	}
 
-	a.Log.Info("HTTP Server is listening on", log.Int("port", a.config.HTTP.Port))
+	a.logger.Info("HTTP Server is listening on", log.Int("port", a.config.HTTP.Port))
 	if err := a.srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
-		a.Log.Error("Failed to listen and serve: %v", log.Err(err))
+		a.logger.Error("Failed to listen and serve: %v", log.Err(err))
 		return err
 	}
 	return nil
@@ -63,7 +62,7 @@
 
 // Shutdown method shuts http server down
 func (a *HTTPServerImpl) Shutdown() error {
-	a.Log.Info("Stopping HTTP Server...")
+	a.logger.Info("Stopping HTTP Server...")
 	if a.srv == nil {
 		return errors.New("No http server present")
 	}
@@ -71,11 +70,11 @@
 	ctx, cancel := context.WithTimeout(context.Background(), time.Second)
 	defer cancel()
 	if err := a.srv.Shutdown(ctx); err != nil {
-		a.Log.Error("Unable to shutdown server", log.Err(err))
+		a.logger.Error("Unable to shutdown server", log.Err(err))
 	}
 
 	// a.srv.Close()
 	// a.srv = nil
-	a.Log.Info("HTTP Server stopped")
+	a.logger.Info("HTTP Server stopped")
 	return nil
 }
diff --git a/core/kg/server/servers_mock.go b/core/kg/server/servers_mock.go
index e2b6afc..03ff60d 100644
--- a/core/kg/server/servers_mock.go
+++ b/core/kg/server/servers_mock.go
@@ -24,7 +24,7 @@
 	config := model.NewConfig()
 	logger := &log.NoOpLogger{}
 	grpcServer := NewGRPCServer(logger, config, app)
-	httpServer := NewHTTPServer(logger, config, nil)
+	httpServer := NewHTTPServer(logger, config, app)
 	ts := &MockServer{
 		App:     app,
 		Servers: []Server{grpcServer, httpServer},
