all filters done; might need to test corner cases for bugs though