generated templated version
generated templated header