Adding cross validation (untested)