message passing and event trigger mostly done