Why does match have to be public? I