bind events at higher level