observer, events, and table upgrade