Added filters back in along with some refactoring