refactor dataset.py
big bang refactorization