better map controls behavior