Initial Advert implementation
Merge remote-tracking branch 'remotes/origin/advertising' into adv