new provider with replace or insert insertion