feature: add match method