improve events implement and test cae
add events demo