impl module wrapper using template class