added support for type filtering