abstracted CrossValidation Classes