diff --git a/pkg/role/mocks/Roles.go b/pkg/roles/mocks/Roles.go
similarity index 98%
rename from pkg/role/mocks/Roles.go
rename to pkg/roles/mocks/Roles.go
index 1520567eebfd68d80cb3f9455cb387e8c71630cc..d7e61236e36d2a5f544950f0634c5204d4a30a3e 100644
--- a/pkg/role/mocks/Roles.go
+++ b/pkg/roles/mocks/Roles.go
@@ -5,7 +5,7 @@ package mocks
 import (
 	"context"
 
-	roles "git.perx.ru/perxis/perxis-go/pkg/role"
+	roles "git.perx.ru/perxis/perxis-go/pkg/roles"
 	"github.com/stretchr/testify/mock"
 )
 
diff --git a/pkg/role/service.go b/pkg/roles/service.go
similarity index 72%
rename from pkg/role/service.go
rename to pkg/roles/service.go
index a819f8b298648e9123078bed197ca8a13b54b6a3..4606e3dd2309ace03ce6caa7f02bddfc6ce4aa2f 100644
--- a/pkg/role/service.go
+++ b/pkg/roles/service.go
@@ -1,26 +1,17 @@
 package roles
 
-//go:generate gowrap gen -i Roles -t ../../templates/middleware/middleware -o service/middleware.go
-//go:generate gowrap gen -i Roles -t ../../templates/middleware/error_log -o service/error_logging_middleware.go
-//go:generate gowrap gen -i Roles -t ../../templates/middleware/access_log -o service/logging_middleware.go
-//go:generate gowrap gen -i Roles -t ../../templates/middleware/recovery -o service/recovering_middleware.go
-//go:generate gowrap gen -i Roles -t ../../templates/middleware/telemetry -o service/telemetry_middleware.go
-
 import (
 	"context"
 
+	"git.perx.ru/perxis/perxis-go/pkg/data"
 	"git.perx.ru/perxis/perxis-go/pkg/environments"
 	"git.perx.ru/perxis/perxis-go/pkg/permission"
-	"git.perx.ru/perxis/perxis-go/pkg/util"
 )
 
 const (
 	AnonymousRole  = "anonymous"
 	AuthorizedRole = "authorized"
 	ViewRole       = "view"
-
-	// Deprecated
-	AuthorizedClientsRole = "authorized_clients"
 )
 
 type Role struct {
@@ -44,17 +35,13 @@ type Role struct {
 }
 
 // @microgen grpc
-// @protobuf git.perx.ru/perxis/perxis/proto/roles
+// @protobuf git.perx.ru/perxis/perxis-go/proto/roles
 // @grpc-addr content.roles.Roles
 type Roles interface {
 	Create(ctx context.Context, role *Role) (created *Role, err error)
-
 	Get(ctx context.Context, spaceId, roleId string) (role *Role, err error)
-
 	List(ctx context.Context, spaceId string) (roles []*Role, err error)
-
 	Update(ctx context.Context, role *Role) (err error)
-
 	Delete(ctx context.Context, spaceId, roleId string) (err error)
 }
 
@@ -68,7 +55,7 @@ func (r Role) CanAccessEnvironment(ctx context.Context, service environments.Env
 		r.Environments = []string{environments.DefaultEnvironment}
 	}
 
-	if util.Contains(envID, r.Environments) {
+	if data.Contains(envID, r.Environments) {
 		return true
 	}
 
@@ -80,7 +67,7 @@ func (r Role) CanAccessEnvironment(ctx context.Context, service environments.Env
 	aliases := append(e.Aliases, e.ID)
 
 	for _, ce := range r.Environments {
-		if util.Contains(ce, aliases) {
+		if data.Contains(ce, aliases) {
 			return true
 		}
 	}
diff --git a/pkg/role/transport/client.microgen.go b/pkg/roles/transport/client.microgen.go
similarity index 97%
rename from pkg/role/transport/client.microgen.go
rename to pkg/roles/transport/client.microgen.go
index 2848241c4fd5926c63af85c8d339ce11de152620..9635f6196928091cb85cfea7b486e32aaf14478c 100644
--- a/pkg/role/transport/client.microgen.go
+++ b/pkg/roles/transport/client.microgen.go
@@ -5,7 +5,7 @@ package transport
 import (
 	"context"
 	"errors"
-	roles "git.perx.ru/perxis/perxis/services/roles"
+	roles "git.perx.ru/perxis/perxis-go/pkg/roles"
 	codes "google.golang.org/grpc/codes"
 	status "google.golang.org/grpc/status"
 )
diff --git a/pkg/role/transport/endpoints.microgen.go b/pkg/roles/transport/endpoints.microgen.go
similarity index 100%
rename from pkg/role/transport/endpoints.microgen.go
rename to pkg/roles/transport/endpoints.microgen.go
diff --git a/pkg/role/transport/exchanges.microgen.go b/pkg/roles/transport/exchanges.microgen.go
similarity index 93%
rename from pkg/role/transport/exchanges.microgen.go
rename to pkg/roles/transport/exchanges.microgen.go
index fe23ae362bb0db781d800829161ff47fa4d421ba..bb7d8e5010877efb628ce34b4f89ae66857476eb 100644
--- a/pkg/role/transport/exchanges.microgen.go
+++ b/pkg/roles/transport/exchanges.microgen.go
@@ -2,7 +2,7 @@
 
 package transport
 
-import roles "git.perx.ru/perxis/perxis/services/roles"
+import roles "git.perx.ru/perxis/perxis-go/pkg/roles"
 
 type (
 	CreateRequest struct {
diff --git a/pkg/role/transport/grpc/client.microgen.go b/pkg/roles/transport/grpc/client.microgen.go
similarity index 95%
rename from pkg/role/transport/grpc/client.microgen.go
rename to pkg/roles/transport/grpc/client.microgen.go
index 4b35d647717bee791ce67864dea082ed66bce3f4..747b1a8cada8b5e189e5e4c7994c79cb36df8b02 100644
--- a/pkg/role/transport/grpc/client.microgen.go
+++ b/pkg/roles/transport/grpc/client.microgen.go
@@ -3,7 +3,7 @@
 package transportgrpc
 
 import (
-	transport "git.perx.ru/perxis/perxis-go/pkg/role/transport"
+	transport "git.perx.ru/perxis/perxis-go/pkg/roles/transport"
 	pb "git.perx.ru/perxis/perxis-go/proto/roles"
 	grpckit "github.com/go-kit/kit/transport/grpc"
 	empty "github.com/golang/protobuf/ptypes/empty"
diff --git a/pkg/role/transport/grpc/protobuf_endpoint_converters.microgen.go b/pkg/roles/transport/grpc/protobuf_endpoint_converters.microgen.go
similarity index 98%
rename from pkg/role/transport/grpc/protobuf_endpoint_converters.microgen.go
rename to pkg/roles/transport/grpc/protobuf_endpoint_converters.microgen.go
index a8bbe1d18f4b7de2c93a44d954f6d6496b12b874..aa66bf57105f290aae04a763c5a8e931a410fc53 100644
--- a/pkg/role/transport/grpc/protobuf_endpoint_converters.microgen.go
+++ b/pkg/roles/transport/grpc/protobuf_endpoint_converters.microgen.go
@@ -7,8 +7,8 @@ import (
 	"context"
 	"errors"
 
+	transport "git.perx.ru/perxis/perxis-go/pkg/roles/transport"
 	pb "git.perx.ru/perxis/perxis-go/proto/roles"
-	transport "git.perx.ru/perxis/perxis/services/roles/transport"
 	empty "github.com/golang/protobuf/ptypes/empty"
 )
 
diff --git a/pkg/role/transport/grpc/protobuf_type_converters.microgen.go b/pkg/roles/transport/grpc/protobuf_type_converters.microgen.go
similarity index 96%
rename from pkg/role/transport/grpc/protobuf_type_converters.microgen.go
rename to pkg/roles/transport/grpc/protobuf_type_converters.microgen.go
index 7b849f679acb65ef4b6fe5059f1ccdef496ec600..10f207e5ebf3e07804009bf0bbb62401e0bdbf9a 100644
--- a/pkg/role/transport/grpc/protobuf_type_converters.microgen.go
+++ b/pkg/roles/transport/grpc/protobuf_type_converters.microgen.go
@@ -5,10 +5,10 @@
 package transportgrpc
 
 import (
+	permission "git.perx.ru/perxis/perxis-go/pkg/permission"
+	service "git.perx.ru/perxis/perxis-go/pkg/roles"
 	commonpb "git.perx.ru/perxis/perxis-go/proto/common"
 	pb "git.perx.ru/perxis/perxis-go/proto/roles"
-	permission "git.perx.ru/perxis/perxis/pkg/permission"
-	service "git.perx.ru/perxis/perxis/services/roles"
 )
 
 func PtrRoleToProto(role *service.Role) (*pb.Role, error) {
diff --git a/pkg/role/transport/grpc/server.microgen.go b/pkg/roles/transport/grpc/server.microgen.go
similarity index 97%
rename from pkg/role/transport/grpc/server.microgen.go
rename to pkg/roles/transport/grpc/server.microgen.go
index 1c808a29225368f6cb45d49358d683a903d53d21..dc012c75f1ff3a6965d9152f204c7d7f6b61d285 100644
--- a/pkg/role/transport/grpc/server.microgen.go
+++ b/pkg/roles/transport/grpc/server.microgen.go
@@ -4,8 +4,8 @@
 package transportgrpc
 
 import (
+	transport "git.perx.ru/perxis/perxis-go/pkg/roles/transport"
 	pb "git.perx.ru/perxis/perxis-go/proto/roles"
-	transport "git.perx.ru/perxis/perxis/services/roles/transport"
 	grpc "github.com/go-kit/kit/transport/grpc"
 	empty "github.com/golang/protobuf/ptypes/empty"
 	context "golang.org/x/net/context"
diff --git a/pkg/role/transport/server.microgen.go b/pkg/roles/transport/server.microgen.go
similarity index 97%
rename from pkg/role/transport/server.microgen.go
rename to pkg/roles/transport/server.microgen.go
index 9bb876827c837863e83d1bc35396e574c6062431..88078336abf552f22e43770f55c2a4e4f8532397 100644
--- a/pkg/role/transport/server.microgen.go
+++ b/pkg/roles/transport/server.microgen.go
@@ -4,7 +4,7 @@ package transport
 
 import (
 	"context"
-	roles "git.perx.ru/perxis/perxis/services/roles"
+	roles "git.perx.ru/perxis/perxis-go/pkg/roles"
 	endpoint "github.com/go-kit/kit/endpoint"
 )