Broke things to make more general... add a new way to read data in both python and C parts