improved style
Performance buggy, but filtering