diff --git a/include/ccaosdb.h b/include/ccaosdb.h
index a1bbe1c1491e4a140350f4d9ee1bf658382e4d28..002cbe279962eaeb27cbe72439f1c3296ac0248e 100644
--- a/include/ccaosdb.h
+++ b/include/ccaosdb.h
@@ -341,8 +341,23 @@ int caosdb_entity_entity_get_description(caosdb_entity_entity *entity,
                                          char *out);
 int caosdb_entity_entity_get_datatype(caosdb_entity_entity *entity, char *out);
 int caosdb_entity_entity_get_unit(caosdb_entity_entity *entity, char *out);
-// TODO(fspreck)replace by more specific getters
-// int caosdb_entity_entity_get_value(caosdb_entity_entity *entity, char *out);
+
+int caosdb_entity_entity_get_int_value(caosdb_entity_entity *entity, long *out);
+int caosdb_entity_entity_get_double_value(caosdb_entity_entity *entity,
+                                          double *out);
+int caosdb_entity_entity_get_boolean_value(caosdb_entity_entity *entity,
+                                           bool *out);
+int caosdb_entity_entity_get_string_value(caosdb_entity_entity *entity,
+                                          char *out);
+int caosdb_entity_entity_get_int_list_value(caosdb_entity_entity *entity,
+                                            long **out);
+int caosdb_entity_entity_get_double_list_value(caosdb_entity_entity *entity,
+                                               double **out);
+int caosdb_entity_entity_get_boolean_list_value(caosdb_entity_entity *entity,
+                                                bool **out);
+int caosdb_entity_entity_get_string_list_value(caosdb_entity_entity *entity,
+                                               char **out);
+
 int caosdb_entity_entity_get_version_id(caosdb_entity_entity *entity,
                                         char *out);
 int caosdb_entity_entity_get_errors_size(caosdb_entity_entity *entity,
@@ -376,9 +391,23 @@ int caosdb_entity_property_get_datatype(caosdb_entity_property *property,
                                         char *out);
 int caosdb_entity_property_get_unit(caosdb_entity_property *property,
                                     char *out);
-// TODO(fspreck) replace by more specific getter
-// int caosdb_entity_property_get_value(caosdb_entity_property *property,
-//                                char *out);
+
+int caosdb_entity_property_get_int_value(caosdb_entity_property *property,
+                                         long *out);
+int caosdb_entity_property_get_double_value(caosdb_entity_property *property,
+                                            double *out);
+int caosdb_entity_property_get_boolean_value(caosdb_entity_property *property,
+                                             bool *out);
+int caosdb_entity_property_get_string_value(caosdb_entity_property *property,
+                                            char *out);
+int caosdb_entity_property_get_int_list_value(caosdb_entity_property *property,
+                                              long **out);
+int caosdb_entity_property_get_double_list_value(
+  caosdb_entity_property *property, double **out);
+int caosdb_entity_property_get_boolean_list_value(
+  caosdb_entity_property *property, bool **out);
+int caosdb_entity_property_get_string_list_value(
+  caosdb_entity_property *property, char **out);
 
 int caosdb_entity_parent_get_id(caosdb_entity_parent *parent, char *out);
 int caosdb_entity_parent_get_name(caosdb_entity_parent *parent, char *out);
@@ -409,8 +438,27 @@ int caosdb_entity_entity_set_datatype(caosdb_entity_entity *entity,
 int caosdb_entity_entity_set_unit(caosdb_entity_entity *entity,
                                   const char *unit);
 // TODO(fspreck) replace by more specific setters
-// int caosdb_entity_entity_set_value(caosdb_entity_entity *entity,
-//                               const char *value);
+int caosdb_entity_entity_set_int_value(caosdb_entity_entity *entity,
+                                       const long *value);
+int caosdb_entity_entity_set_double_value(caosdb_entity_entity *entity,
+                                          const double *value);
+int caosdb_entity_entity_set_boolean_value(caosdb_entity_entity *entity,
+                                           const bool *value);
+int caosdb_entity_entity_set_string_value(caosdb_entity_entity *entity,
+                                          const char *value);
+int caosdb_entity_entity_set_int_list_value(caosdb_entity_entity *entity,
+                                            const long **value,
+                                            const int length);
+int caosdb_entity_entity_set_double_list_value(caosdb_entity_entity *entity,
+                                               const double **value,
+                                               const int length);
+int caosdb_entity_entity_set_boolean_list_value(caosdb_entity_entity *entity,
+                                                const bool **value,
+                                                const int length);
+int caosdb_entity_entity_set_string_list_value(caosdb_entity_entity *entity,
+                                               const char **value,
+                                               const int length);
+
 int caosdb_entity_entity_append_parent(caosdb_entity_entity *entity,
                                        caosdb_entity_parent *parent);
 int caosdb_entity_entity_remove_parent(caosdb_entity_entity *entity, int index);
@@ -429,9 +477,24 @@ int caosdb_entity_property_set_importance(caosdb_entity_property *property,
                                           const char *importance);
 int caosdb_entity_property_set_unit(caosdb_entity_property *property,
                                     const char *unit);
-// TODO(fspreck) replace by more specific setters
-// int caosdb_entity_property_set_value(caosdb_entity_property *property,
-//                                 const char *value);
+
+int caosdb_entity_property_set_int_value(caosdb_entity_property *property,
+                                         const long *value);
+int caosdb_entity_property_set_double_value(caosdb_entity_property *property,
+                                            const double *value);
+int caosdb_entity_property_set_boolean_value(caosdb_entity_property *property,
+                                             const bool *value);
+int caosdb_entity_property_set_string_value(caosdb_entity_property *property,
+                                            const char *value);
+int caosdb_entity_property_set_int_list_value(caosdb_entity_property *property,
+                                              const long **value,
+                                              const int length);
+int caosdb_entity_property_set_double_list_value(
+  caosdb_entity_property *property, const double **value, const int length);
+int caosdb_entity_property_set_boolean_list_value(
+  caosdb_entity_property *property, const bool **value, const int length);
+int caosdb_entity_property_set_string_list_value(
+  caosdb_entity_property *property, const char **value, const int length);
 
 int caosdb_entity_parent_set_id(caosdb_entity_parent *parent, const char *id);
 int caosdb_entity_parent_set_name(caosdb_entity_parent *parent,