add week events and refactoring