campaign functionality in the core