rewrite almost all of models (not pass all tests)