refactor to better separate the data loading code from the visualization code in webgl