message controller