adding maps and campaigns and generalizing