further work towards generalizing to use different models