parallel function calling seems to work

This seems to be the only way to do this, although it still feels fairly
messy. I also would like to figure out a good way to test w/
cluster_view.