adding filter and order functionalities