diff --git a/src/example/test.yaml b/src/example/test.yaml
new file mode 100644
index 0000000..1ba22a4
--- /dev/null
+++ b/src/example/test.yaml
@@ -0,0 +1,408 @@
+# Test PDM configuration file.  This file validates that all
+# possible configuration file directives result in an application
+# that builds.  For an example with documentation please see
+# example.yaml
+
+- name: test path group
+  class: group
+  group: path
+  members:
+    - meta: PATH
+      path: /xyz/openbmc_project/testing/inst1
+    - meta: PATH
+      path: /xyz/openbmc_project/testing/inst2
+    - meta: PATH
+      path: /xyz/openbmc_project/testing/inst3
+    - meta: PATH
+      path: /xyz/openbmc_project/testing/inst4
+
+- name: test byte property group
+  class: group
+  group: property
+  type: byte
+  members:
+    - interface: xyz.openbmc_project.byteIface
+      meta: PROPERTY
+      property: byteValue
+
+- name: test u16 property group
+  class: group
+  group: property
+  type: uint16
+  members:
+    - interface: xyz.openbmc_project.U16Iface
+      meta: PROPERTY
+      property: u16Value
+
+- name: test u32 property group
+  class: group
+  group: property
+  type: uint32
+  members:
+    - interface: xyz.openbmc_project.U32Iface
+      meta: PROPERTY
+      property: u32Value
+
+- name: test u64 property group
+  class: group
+  group: property
+  type: uint64
+  members:
+    - interface: xyz.openbmc_project.U64Iface
+      meta: PROPERTY
+      property: u64Value
+
+- name: test s16 property group
+  class: group
+  group: property
+  type: int16
+  members:
+    - interface: xyz.openbmc_project.S16Iface
+      meta: PROPERTY
+      property: s16Value
+
+- name: test s32 property group
+  class: group
+  group: property
+  type: int32
+  members:
+    - interface: xyz.openbmc_project.S32Iface
+      meta: PROPERTY
+      property: s32Value
+
+- name: test s64 property group
+  class: group
+  group: property
+  type: int64
+  members:
+    - interface: xyz.openbmc_project.S64Iface
+      meta: PROPERTY
+      property: s64Value
+
+- name: test string property group
+  class: group
+  group: property
+  type: string
+  members:
+    - interface: xyz.openbmc_project.StringIface
+      meta: PROPERTY
+      property: StringValue
+
+- name: test bool property group
+  class: group
+  group: property
+  type: boolean
+  members:
+    - interface: xyz.openbmc_project.BoolIface
+      meta: PROPERTY
+      property: BoolValue
+
+- name: test byte watch
+  class: watch
+  watch: property
+  paths: test path group
+  properties: test byte property group
+
+- name: test u16 watch
+  class: watch
+  watch: property
+  paths: test path group
+  properties: test u16 property group
+
+- name: test u32 watch
+  class: watch
+  watch: property
+  paths: test path group
+  properties: test u32 property group
+
+- name: test u64 watch
+  class: watch
+  watch: property
+  paths: test path group
+  properties: test u64 property group
+
+- name: test s16 watch
+  class: watch
+  watch: property
+  paths: test path group
+  properties: test s16 property group
+
+- name: test s32 watch
+  class: watch
+  watch: property
+  paths: test path group
+  properties: test s32 property group
+
+- name: test s64 watch
+  class: watch
+  watch: property
+  paths: test path group
+  properties: test s64 property group
+
+- name: test bool watch
+  class: watch
+  watch: property
+  paths: test path group
+  properties: test bool property group
+
+- name: test string watch
+  class: watch
+  watch: property
+  paths: test path group
+  properties: test string property group
+
+- name: test byte journal
+  class: callback
+  callback: journal
+  paths: test path group
+  properties: test byte property group
+  severity: DEBUG
+  message: Testing...
+
+- name: test u16 journal
+  class: callback
+  callback: journal
+  paths: test path group
+  properties: test u16 property group
+  severity: INFO
+  message: Testing...
+
+- name: test u32 journal
+  class: callback
+  callback: journal
+  paths: test path group
+  properties: test u32 property group
+  severity: NOTICE
+  message: Testing...
+
+- name: test u64 journal
+  class: callback
+  callback: journal
+  paths: test path group
+  properties: test u64 property group
+  severity: WARNING
+  message: Testing...
+
+- name: test s16 journal
+  class: callback
+  callback: journal
+  paths: test path group
+  properties: test s16 property group
+  severity: ERR
+  message: Testing...
+
+- name: test s32 journal
+  class: callback
+  callback: journal
+  paths: test path group
+  properties: test s32 property group
+  severity: CRIT
+  message: Testing...
+
+- name: test s64 journal
+  class: callback
+  callback: journal
+  paths: test path group
+  properties: test s64 property group
+  severity: ALERT
+  message: Testing...
+
+- name: test bool journal
+  class: callback
+  callback: journal
+  paths: test path group
+  properties: test bool property group
+  severity: EMERG
+  message: Testing...
+
+- name: test string journal
+  class: callback
+  callback: journal
+  paths: test path group
+  properties: test string property group
+  severity: INFO
+  message: Testing...
+
+- name: test method
+  class: callback
+  callback: method
+  service: org.test
+  path: /test
+  interface: org.test
+  method: Test
+  args:
+    - value: 123
+      type: string
+    - value: false
+      type: boolean
+    - value: true
+      type: boolean
+    - value: 123
+      type: byte
+    - value: 123
+      type: uint16
+    - value: 123
+      type: uint32
+    - value: 123
+      type: uint64
+    - value: 123
+      type: int16
+    - value: 123
+      type: int32
+    - value: 123
+      type: int64
+
+- name: test count lt
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test byte property group
+  callback: test method
+  countop: '<'
+  countbound: 3
+  op: '<'
+  bound: 115
+
+- name: test count lte
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test byte property group
+  callback: test method
+  defer: 1000us
+  countop: '<='
+  countbound: 3
+  op: '<='
+  bound: 115
+
+- name: test count gt
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test byte property group
+  defer: 1000us
+  callback: test method
+  countop: '>'
+  countbound: 3
+  op: '>'
+  bound: 115
+
+- name: test count gte
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test byte property group
+  defer: 1000us
+  callback: test method
+  countop: '>='
+  countbound: 3
+  op: '>='
+  bound: 115
+
+- name: test count eq
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test byte property group
+  defer: 1000us
+  callback: test method
+  countop: '=='
+  countbound: 3
+  op: '=='
+  bound: 115
+
+- name: test count neq
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test byte property group
+  defer: 1000us
+  callback: test method
+  countop: '!='
+  countbound: 3
+  op: '!='
+  bound: 115
+
+- name: test count u16
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test u16 property group
+  defer: 1000us
+  callback: test method
+  countop: '=='
+  countbound: 3
+  op: '=='
+  bound: 115
+
+- name: test count u32
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test u32 property group
+  defer: 1000us
+  callback: test method
+  countop: '=='
+  countbound: 3
+  op: '=='
+  bound: 115
+
+- name: test count u64
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test u64 property group
+  defer: 1000us
+  callback: test method
+  countop: '=='
+  countbound: 3
+  op: '=='
+  bound: 115
+
+- name: test count s16
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test s16 property group
+  defer: 1000us
+  callback: test method
+  countop: '=='
+  countbound: 3
+  op: '=='
+  bound: 115
+
+- name: test count s32
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test s32 property group
+  defer: 1000us
+  callback: test method
+  countop: '=='
+  countbound: 3
+  op: '=='
+  bound: 115
+
+- name: test count s64
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test s64 property group
+  defer: 1000us
+  callback: test method
+  countop: '=='
+  countbound: 3
+  op: '=='
+  bound: 115
+
+- name: test count bool
+  class: condition
+  condition: count
+  paths: test path group
+  properties: test bool property group
+  defer: 1000us
+  callback: test method
+  countop: '=='
+  countbound: 3
+  op: '=='
+  bound: false
diff --git a/src/format.hpp b/src/format.hpp
index 9c8341c..f0b0c8e 100644
--- a/src/format.hpp
+++ b/src/format.hpp
@@ -16,6 +16,10 @@
 {
 
 };
+template <> struct GetFormatType<bool>
+{
+    static constexpr auto format = "%d";
+};
 template <> struct GetFormatType<char>
 {
     static constexpr auto format = "=%hhd";
diff --git a/src/journal.hpp b/src/journal.hpp
index 4e47670..cc74451 100644
--- a/src/journal.hpp
+++ b/src/journal.hpp
@@ -46,6 +46,28 @@
         const char* message;
 };
 
+/** @struct Display
+ *  @brief Convert strings to const char*.
+ */
+namespace detail
+{
+template <typename T> struct Display
+{
+    static auto op(T&& value)
+    {
+        return std::forward<T>(value);
+    }
+};
+
+template <> struct Display<std::string>
+{
+    static auto op(const std::string& value)
+    {
+        return value.c_str();
+    }
+};
+} // namespace detail
+
 /** @class Journal
  *  @brief C++ type specific logic for the journal callback.
  *
@@ -77,11 +99,11 @@
             phosphor::logging::log<Severity>(
                 message,
                 phosphor::logging::entry(
-                    pathMeta + GetFormat<decltype(pathMeta)>::format,
-                    path),
+                    (pathMeta + GetFormat<decltype(pathMeta)>::format).c_str(),
+                    path.c_str()),
                 phosphor::logging::entry(
-                    propertyMeta + GetFormat<T>::format,
-                    any_ns::any_cast<T>(value)));
+                    (propertyMeta + GetFormat<T>::format).c_str(),
+                    detail::Display<T>::op(any_ns::any_cast<T>(value))));
         }
 };
 
diff --git a/src/pdmgen.py b/src/pdmgen.py
index d878500..ac2b8e0 100755
--- a/src/pdmgen.py
+++ b/src/pdmgen.py
@@ -101,11 +101,9 @@
     '''Decorate an argument with a literal operator.'''
 
     integer_types = [
-        'int8',
         'int16',
         'int32',
         'int64',
-        'uint8',
         'uint16',
         'uint32',
         'uint64'
@@ -122,6 +120,8 @@
 
         if self.type in self.integer_types:
             return Cast('static', '{0}_t'.format(self.type))(arg)
+        elif self.type == 'byte':
+            return Cast('static', 'uint8_t'.format(self.type))(arg)
 
         if self.type == 'string':
             return '{0}s'.format(arg)
@@ -396,9 +396,10 @@
     '''Property group config file directive.'''
 
     def __init__(self, *a, **kw):
+        self.type = kw.pop('type')
         self.datatype = sdbusplus.property.Property(
             name=kw.get('name'),
-            type=kw.pop('type')).cppTypeName
+            type=self.type).cppTypeName
 
         super(GroupOfProperties, self).__init__(**kw)
 
@@ -507,6 +508,7 @@
             self.properties,
             config=self.configfile)
         self.datatype = objs['propertygroup'][self.properties].datatype
+        self.type = objs['propertygroup'][self.properties].type
 
         super(HasPropertyIndex, self).setup(objs)
 
@@ -626,6 +628,14 @@
         self.bound = kw.pop('bound')
         super(CountCondition, self).__init__(**kw)
 
+    def setup(self, objs):
+        '''Resolve type.'''
+
+        super(CountCondition, self).setup(objs)
+        self.bound = TrivialArgument(
+            type=self.type,
+            value=self.bound)
+
     def construct(self, loader, indent):
         return self.render(
             loader,
diff --git a/src/templates/count.mako.cpp b/src/templates/count.mako.cpp
index d348518..9ac9c3c 100644
--- a/src/templates/count.mako.cpp
+++ b/src/templates/count.mako.cpp
@@ -1,4 +1,4 @@
 std::make_unique<CountCondition<${c.datatype}>>(
 ${indent(1)}ConfigPropertyIndicies::get()[${c.instances}],
 ${indent(1)}[](const auto& item){return item ${c.countop} ${c.countbound};},
-${indent(1)}[](const auto& item){return item ${c.op} ${c.bound};})\
+${indent(1)}[](const auto& item){return item ${c.op} ${c.bound.argument(loader, indent=indent +1)};})\
