add campaign controller, directive and update app