totally re-written based on generic ad plugin common interface, add support to interstitial