model adapt