do some horrible things to wait on returned output