switched to using ngTouch to handle events