add framework for cp