implemented actual filtering based on subclasses