Added touch event and viewport