event part

实现大部分的事件机制，下一步填充框架