Add more explanatory comments, prioirty onTouch function