latest refactored code. got rid of data_getters ipython notebook