add abstract_model