crash avoid by using the (inefficient) subprocess wrapper, but we can make progress