events required and ui