Revert "Match class"

This reverts commit 3daf9bfbd60d0d6c09ee3966a312dbfac61a3f12.
Revert "Revert "Match class""

This reverts commit f34a3580397b5ec46474f59f27ec6ebf746683e2.