base model method