switch to using backbone for event handling