abstractmatcher implementation
fixed up abstractmatcher
implemented pathmatcher
added pathmatcher test