diff --git a/ModeliRpc.proto b/ModeliRpc.proto
index 245380f55e80fba1d27d85f62e4ddf58fbdf0969..38552fdc569060af8385eb9d3deb840f06ab7a24 100644
--- a/ModeliRpc.proto
+++ b/ModeliRpc.proto
@@ -40,36 +40,6 @@ service ModeliBackend {
     rpc Log (LogRequest) returns (stream LogResponse);
 }
 
-// From Fmi2Standard
-enum Fmi2Status {
-    FMI2_OK = 0;
-    FMI2_WARNING = 1;
-    FMI2_DISCARD = 2;
-    FMI2_ERROR = 3;
-    FMI2_FATAL = 4;
-    FMI2_PENDING = 5;
-}
-
-// Contains values from and for the fmu
-message IntValue {   
-    uint32 value_ref = 1;
-    int32 value = 2;
-}
-
-message RealValue {
-    uint32 value_ref = 1;
-    double value = 2;
-}
-
-message BoolValue {
-    uint32 value_ref = 1;
-    int32 value = 2;  // Fmi2 standard encodes bools as int (1: true, 0: false)
-}
-message StringValue {
-    uint32 value_ref = 1;
-    string value = 2;
-}
-
 // The metadata of a ChannelLink
 message ChannelLink {
     string master_instance_name = 1;
@@ -84,7 +54,7 @@ message ChannelLink {
 message PlayRequest {}
 
 message PlayResponse {
-    Fmi2Status status = 1;
+    int32 status = 1;
 }
 
 message PlayFastRequest {
@@ -92,7 +62,7 @@ message PlayFastRequest {
 }
 
 message PlayFastResponse {
-    Fmi2Status status = 1;
+    int32 status = 1;
 }
 
 message PauseRequest {}
@@ -102,7 +72,7 @@ message PauseResponse {}
 message StopRequest {}
 
 message StopResponse {
-    Fmi2Status status = 1;
+    int32 status = 1;
 }
 
 message AddFmuRequest {
@@ -138,50 +108,70 @@ message RemoveChannelLinkResponse {
     bool success = 1;
 }
 
+message IntValues {
+    repeated uint32 vrs = 1;
+    repeated int32 values = 2;
+}
+
 message SetIntRequest {
-    string instance_name =  1;
-    repeated IntValue int_value = 2;
+    string instance_name = 1;
+    IntValues values = 2;
 }
 
 message SetIntResponse {
-    Fmi2Status status = 1;
+    int32 status = 1;
+}
+
+message RealValues {
+    repeated uint32 vrs = 1;
+    repeated double values = 2;
 }
 
 message SetRealRequest {
-    string instance_name =  1;
-    repeated RealValue real_value = 2;
+    string instance_name = 1;
+    RealValues values = 2;
 }
 
 message SetRealResponse {
-    Fmi2Status status = 1;
+    int32 status = 1;
+}
+
+message BoolValues {
+    repeated uint32 vrs = 1;
+    repeated int32 values = 2;
 }
 
 message SetBoolRequest {
-    string instance_name =  1;
-    repeated BoolValue bool_value = 2;
+    string instance_name = 1;
+    BoolValues values = 2;
 }
 
 message SetBoolResponse {
-    Fmi2Status status = 1;
+    int32 status = 1;
+}
+
+message StringValues {
+    repeated uint32 vrs = 1;
+    repeated string values = 2;
 }
 
 message SetStringRequest {
-    string instance_name =  1;
-    repeated StringValue string_value = 2;
+    string instance_name = 1;
+    StringValues values = 2;
 }
 
 message SetStringResponse {
-    Fmi2Status status = 1;
+    int32 status = 1;
 }
 
 message NewValuesRequest {}
 
 message NewValuesResponse {
     double timestamp = 1;
-    repeated IntValue int_value = 2;
-    repeated RealValue real_value = 3;
-    repeated BoolValue bool_value = 4;
-    repeated StringValue string_value = 5;
+    IntValues int_values = 2;
+    RealValues real_values = 3;
+    BoolValues bool_values = 4;
+    StringValues string_values = 5;
     string instance_name = 6;
 }
 
@@ -189,6 +179,6 @@ message LogRequest {}
 
 message LogResponse {
     string instance_name = 1;
-    Fmi2Status status = 2;
+    int32 status = 2;
     string message = 3;
 }
\ No newline at end of file