add simulateTouch function