It is confusing to have a private `k` and let the argument `k` overwrite the private `k`. We can put this into the companion object.