register the widget properly and use reset the query after use so it doesn't bleed into next widgets