add factory for MonitorModel creation