templated function signature in ssm.h