added matching component, will refactor next