add basic event logic
auto push messages to client