completed Campaign service + tests