add pprint, and some features such as log of joining the event