improve for touchscreens