allow 'array' for ccp and csolve