Initial refactor to break data.py into separate files