3.0

1. cross validation
2. refactor