totally re-write, align API with other Ad plugins