size_t instead of template parameter