CCRP constructor
more flexible constuctor