building out matching interface, incremental