improve so it finishes consistently