updated with filters functionality