match functionality, still glitchy