use matching instead of hard-coding