implemented selection & filtering