coroutine for improving hbf and mto based on goodness score