better cp error checking