added cardinal framework