implemented filters, pagination and soritng