yeah I ended up writing a little function to generate `contains` because we use it to know what to render