added touch event but not its not perfect