added crossvalidate()