rebuild project event-oriented