a refactoring of touchstart