made progress with viewport and touch events