full functionality with filters