updating matching mechanisms and GUI. the final feature before
implementing commit/undo.