simplify template,provider