updated message controller