new providers and clean up of inserthtml function

Have not had time to add the new providers to to the tests, this also includes the cleanup to the inserthtml function as requested earlier this week.

I note that I am working on a number of other providers but have not submitted them in this commit as I have not tested them properly yet, hopefully will get these through in the next few days.