added eventbus architecture