add events and spec