added a constructor to campaign to deal with loading campaigns