diff --git a/README.md b/README.md
index e75ac29a7c382944189c9e2177ecf4d15a333d5d..27d0110791315c6e801ddde881588825d5430e8f 100644
--- a/README.md
+++ b/README.md
@@ -77,3 +77,11 @@ Easily start your Reactive RESTful Web Services
 Monitor your application's health using SmallRye Health
 
 [Related guide section...](https://quarkus.io/guides/smallrye-health)
+
+## Best parctice
+
+### User package-private fields for injected fields
+
+This involves injection fields, constructors and initializers, observer methods, producer methods and fields, disposers and interceptor methods.
+
+[See section 2 of quarkus guide ](https://quarkus.io/guides/cdi-reference#native-executables-and-private-members)
diff --git a/src/main/java/de/itvsh/kop/user/User.java b/src/main/java/de/itvsh/kop/user/User.java
index f25a01a2e444e0524d26df3e86399f4d084a8c15..fc9d990fd0dccfe50abfeb36b5577688f9d5bf62 100644
--- a/src/main/java/de/itvsh/kop/user/User.java
+++ b/src/main/java/de/itvsh/kop/user/User.java
@@ -3,10 +3,9 @@ package de.itvsh.kop.user;
 import java.util.Collection;
 import java.util.Date;
 
+import org.bson.codecs.pojo.annotations.BsonId;
 import org.bson.types.ObjectId;
 
-import io.quarkus.mongodb.panache.PanacheMongoEntity;
-import io.quarkus.mongodb.panache.common.MongoEntity;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Getter;
@@ -19,15 +18,16 @@ import lombok.ToString;
 @AllArgsConstructor
 @Getter
 @Setter
-@MongoEntity
 @ToString
-public class User extends PanacheMongoEntity {
+public class User {
 
 	public static final String EXTERNAL_ID_FIELD = "externalId";
 	public static final String EMAIL_FIELD = "email";
 	public static final String DELETED_FIELD = "deleted";
 	public static final String LAST_SYNC_TIMESTAMP_FIELD = "lastSyncTimestamp";
 
+	@BsonId
+	private ObjectId id;
 	private String externalId;
 	private String firstName;
 	private String lastName;
@@ -42,12 +42,4 @@ public class User extends PanacheMongoEntity {
 	public String getFullName() {
 		return String.format("%s %s", firstName, lastName);
 	}
-
-	public ObjectId getId() {
-		return super.id;
-	}
-
-	public void setId(ObjectId id) {
-		super.id = id;
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/de/itvsh/kop/user/UserService.java b/src/main/java/de/itvsh/kop/user/UserService.java
index b786f1c321b531d4384b71959dac4164d7f186ea..c9b407655908d81cf306b567288166a176071736 100644
--- a/src/main/java/de/itvsh/kop/user/UserService.java
+++ b/src/main/java/de/itvsh/kop/user/UserService.java
@@ -9,7 +9,7 @@ import javax.inject.Inject;
 public class UserService {
 
 	@Inject
-	private UserRepository repository;
+	UserRepository repository;
 
 	public void save(User user) {
 		findUser(user).ifPresentOrElse(persistedUser -> repository.update(addIdUser(user, persistedUser)),
diff --git a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java b/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java
index 03dec638d5300f86b37f4ad8b92e7d3eb85543f2..559a346b2d19f3e4b77c0964ae55b6384f3ad0c5 100644
--- a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java
+++ b/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java
@@ -24,14 +24,14 @@ import de.itvsh.kop.user.common.errorhandling.KeycloakUnavailableException;
 class KeycloakApiService {
 
 	@Inject
-	private RealmResource realmResource;
+	RealmResource realmResource;
 	@Inject
-	private UserResourceMapper mapper;
+	UserResourceMapper mapper;
 	@Inject
-	private KeycloakApiProperties properties;
+	KeycloakApiProperties properties;
 
 	@ConfigProperty(name = "keycloak.url")
-	private String keycloakUrl;
+	String keycloakUrl;
 
 	public Stream<User> findAllUser() {
 		return handlingKeycloakException(() -> getAllUserRepresentation().map(this::toUser));
diff --git a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java b/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java
index 194eb3efcc194eeb3bd421efb3913e800f9387c4..70e1355f6a6e6f7c031d481a61460fe5ee9931d3 100644
--- a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java
+++ b/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java
@@ -8,19 +8,18 @@ import org.keycloak.admin.client.Keycloak;
 import org.keycloak.admin.client.KeycloakBuilder;
 import org.keycloak.admin.client.resource.RealmResource;
 
-// TODO Test
 public class KeycloakProvider {
 
 	private static final String CLIENT = "admin-cli";
 
 	@Inject
-	private KeycloakApiProperties keycloakConfiguration;
+	KeycloakApiProperties keycloakConfiguration;
 
 	@ConfigProperty(name = "keycloak.url")
-	private String keycloakUrl;
+	String keycloakUrl;
 
 	@ApplicationScoped
-	private RealmResource provide() {
+	RealmResource provide() {
 		return buildKeycloakInstance().realm(keycloakConfiguration.realm());
 	}
 
diff --git a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java b/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java
index 11d029822abe3752aff207f5cde432cd15a70ed1..56c33762474e079e265d503c28cccafbcbee554a 100644
--- a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java
+++ b/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java
@@ -11,7 +11,7 @@ import de.itvsh.kop.user.User;
 public class KeycloakUserRemoteService {
 
 	@Inject
-	private KeycloakApiService apiService;
+	KeycloakApiService apiService;
 
 	public Stream<User> getAllUsers() {
 		return apiService.findAllUser();
diff --git a/src/test/java/de/itvsh/kop/user/UserServiceTest.java b/src/test/java/de/itvsh/kop/user/UserServiceTest.java
index 39bee6f0fccd2dc354afcecfecd0ed1fbf79bde0..9b683fdc465604b217e3d5bd3023461cc1af870d 100644
--- a/src/test/java/de/itvsh/kop/user/UserServiceTest.java
+++ b/src/test/java/de/itvsh/kop/user/UserServiceTest.java
@@ -17,11 +17,11 @@ import de.itvsh.kop.user.keycloak.KeycloakUserRemoteService;
 class UserServiceTest {
 
 	@InjectMocks
-	private UserService service;
+	UserService service;
 	@Mock
-	private UserRepository repository;
+	UserRepository repository;
 	@Mock
-	private KeycloakUserRemoteService keycloakRemoteService;
+	KeycloakUserRemoteService keycloakRemoteService;
 
 	@DisplayName("Save")
 	@Nested
diff --git a/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java b/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java
index 7dc6275081eacc25859c1887b38d75cba2573093..2eb49ab4e065325a8577d224a12d6091301000a0 100644
--- a/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java
+++ b/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java
@@ -14,7 +14,7 @@ import io.quarkus.test.junit.TestProfile;
 class KeycloakApiServiceITCase {
 
 	@Inject
-	private KeycloakApiService service;
+	KeycloakApiService service;
 
 	@Test
 	void shouldGetAllUsers() {
diff --git a/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java b/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java
new file mode 100644
index 0000000000000000000000000000000000000000..800275d14a2644cb81e49184066c347d014a9d22
--- /dev/null
+++ b/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java
@@ -0,0 +1,21 @@
+package de.itvsh.kop.user.keycloak;
+
+import static org.assertj.core.api.Assertions.*;
+
+import javax.inject.Inject;
+
+import org.junit.jupiter.api.Test;
+import org.keycloak.admin.client.resource.RealmResource;
+
+import io.quarkus.test.junit.QuarkusTest;
+
+@QuarkusTest
+class KeycloakProviderITCase {
+	@Inject
+	RealmResource realm;
+
+	@Test
+	void shouldHaveRealmResource() {
+		assertThat(realm).isNotNull();
+	}
+}
diff --git a/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java b/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java
index c5136559bccec3a1e6f8c1d0851081141f870b46..441f575b4e6bde1860db67f771781b7d72cab007 100644
--- a/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java
+++ b/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java
@@ -12,9 +12,9 @@ import io.quarkus.test.junit.mockito.InjectSpy;
 class KeycloakUserRemoteServiceITCase {
 
 	@InjectSpy
-	private KeycloakUserRemoteService service;
+	KeycloakUserRemoteService service;
 	@InjectMock
-	private KeycloakApiService apiService;
+	KeycloakApiService apiService;
 
 	@Test
 	void shouldCallGetAllUsers() {