finished filling in message.c