updated model controller