replaced bind() with on()