Added cross validation and abstract classifier