making this into more of an event message server like the client