changed sorter and filterer to work with repositories instead of queries, immutability, baby