Make some functions in Event model, and add some new tempates/views