implemented match_* methods