zoom sticks and ui updated based on opts