refacter, add class FilteredInput