I am developing a custom module that can let the end user select multiple values (checkboxes) such as regions. It doesn't looks like the metadata supporting collections. I created a new database table to store the 1 (content) to many (regions) much like the tags or comments. It works out pretty well to creating and updating. My problem is that when I try to query against the content using the default provider, that's no way I can join the content and the regions table using the existing content manager such as content with region 1 and 2. It looks like I need to provide my own provider that has the underlying join implemented. Is that a better way or a practical solutions to achieve my goal without rewrite the entire data provider? Ideas and directions are appreciated.