add: base model, filterBy()