model_refctoring