add crossvalidation set
use new program entry point