laying groundwork for tab events