re-define model and ops