added campaign class and method