Match.m implemented completely