optimized bindEvents()