More flexible finish()