anchor.diff:  
       scrollStep = 16;
     }
  -  
  +
     componentDidMount(_) {
       setScrollStepSize();
  -    
  +
       var _scrollListDiv = ref('round-list');
       var _itemSpan = ref(items[0].toString());
       var _spanWidth = _itemSpan.marginEdge.width;
       var _visibleItemsWindowSize = scrollStep * _spanWidth;
       var activeItemOrder = 0;
  -    
  +
  +    if (items.length > 40){ //hack due to testing 100 items in rounds, causing troubles with css width of round-list div
  +      _scrollListDiv.style.width = '4000px';
  +    }
  +
       activeItemOrder = items.indexOf(active.value);
  -    
  -    var _scrollStep = (0 - (activeItemOrder * 
  +
  +    var _scrollStep = (0 - (activeItemOrder *
                               _spanWidth - _visibleItemsWindowSize * 0.8)).round();
  -    
  +
       checkSetScrollStepRedraw(_scrollStep, _scrollListDiv);
     }
  -  
  +
     componentWillUnmount(){
       for (StreamSubscription subscr in subscriptions) {
         subscr.cancel();
       }
     }
  -  
  +
     render() {
       var _items = [];
       for (var item in items) {
         if (selected.value == item) {
  -        _items.add(span({'ref' : '$item', 'key': item, 
  -          'onMouseDown': (ev) => mouseDown(ev, item), 
  +        _items.add(span({'ref' : '$item', 'key': item,
  +          'onMouseDown': (ev) => mouseDown(ev, item),
             'className' : 'selected'}, item));
         }
  +      else if (active.value == item) {
  +        _items.add(span({'ref' : '$item', 'key': item,
  +          'onMouseDown': (ev) => mouseDown(ev, item),
  +          'className' : 'active'}, item));
  +      }
         else if (loading.value == item) {
  -//TODO: missing css class for loading element
  -        _items.add(span({'ref' : '$item', 'key': item, 
  -          'onMouseDown': (ev) => mouseDown(ev, item), 'className' : '', 
  -          'style' : {'background-color' : 'red'}}, item)); 
  -      }
  -      else if (active.value == item) {
  -        _items.add(span({'ref' : '$item', 'key': item, 
  -          'onMouseDown': (ev) => mouseDown(ev, item), 
  -          'className' : 'active'}, item));
  +        _items.add(span({'ref' : '$item', 'key': item,
  +          'onMouseDown': (ev) => mouseDown(ev, item),
  +          'className' : 'loading'}, item));
         }
         else {
  -        _items.add(span({'ref' : '$item', 'key': item, 
  -          'onMouseDown': (ev) => mouseDown(ev, item)}, item));  
  -      }
  -    }
  -    
  -    var leftArrowButton = div({'key': 'leftArrowButton', 'onMouseDown': (ev) => 
  +        _items.add(span({'ref' : '$item', 'key': item,
  +          'onMouseDown': (ev) => mouseDown(ev, item)}, item));
  +      }
  +    }
  +
  +    var leftArrowButton = div({'key': 'leftArrowButton', 'onMouseDown': (ev) =>
           arrowLeftRightMouseDown(ev, true)}, '<');
  -    var rightArrowButton = div({'key': 'rightArrowButton', 'onMouseDown': (ev) => 
  +    var rightArrowButton = div({'key': 'rightArrowButton', 'onMouseDown': (ev) =>
           arrowLeftRightMouseDown(ev, false)}, '>');
  -    
  -    var textSpan = span({'key': selectorText, 
  +
  +    var textSpan = span({'key': selectorText,
         'className' : 'round-selector-text'}, selectorText);
  -    var leftArrowDiv = div({'key': 'leftArrow', 
  +    var leftArrowDiv = div({'key': 'leftArrow',
         'className' : 'left-arrow'}, leftArrowButton);
  -    var selectorItemsListDiv = div({'ref' : 'itemsDiv', 
  +    var selectorItemsListDiv = div({'ref' : 'itemsDiv',
         'className' : 'round-list-fixed-width'},
           div({'ref' : 'round-list', 'className' : 'round-list'}, _items));
  -    var rightArrowDiv = div({'key': 'rightArrow', 
  +    var rightArrowDiv = div({'key': 'rightArrow',
         'className' : 'right-arrow'}, rightArrowButton);
  -    
  +
       var _cssSelectorClass = 'round-selector';
  -    
  +
       if (fullSize){
         _cssSelectorClass = 'round-selector round-selector-full';
       }
  -    
  +
       return div({'className' : _cssSelectorClass},
           [textSpan, leftArrowDiv, selectorItemsListDiv, rightArrowDiv]);
     }
   
     checkAndSetScrollStep(_){
       setScrollStepSize();
  -    
  +
       var _scrollListDiv = ref('round-list');
  -    var _scrollStep = _scrollListDiv.style.left;
  -    
  +    var _scrollStep = _scrollListDiv.style.marginLeft;
  +
       if (_scrollStep == '') {
  -      _scrollListDiv.style.left = '-5px';
  +      _scrollListDiv.style.marginLeft = '-5px';
         _scrollStep = '-5px';
       }
   
       _scrollStep = _scrollStep.replaceAll('px','');
       _scrollStep = num.parse(_scrollStep).round();
  -    
  +
       checkSetScrollStepRedraw(_scrollStep, _scrollListDiv);
     }
  -  
  +
     mouseDown(ev, item) {
       loading.value = item;
     }
  -  
  +
     arrowLeftRightMouseDown(ev,isLeft) {
       var _itemSpan = ref(items[0].toString());
       var _scrollListDiv = ref('round-list');
       var _visibleItemsWindowSize = scrollStep * _itemSpan.marginEdge.width;
  -    var _scrollStep = _scrollListDiv.style.left;
  +    var _scrollStep = _scrollListDiv.style.marginLeft;
   
       setScrollStepSize();
  -    
  +
       if (_scrollStep == '') {
  -      _scrollListDiv.style.left = '-5px';
  +      _scrollListDiv.style.marginLeft = '-5px';
         _scrollStep = '-5px';
       }
   
  
positive.code: 
    componentWillMount() {
      subscriptions = new List();
      
      subscriptions.add(selected.onChange.listen((_) => redraw()));
      subscriptions.add(loading.onChange.listen((_) => redraw()));
      subscriptions.add(active.onChange.listen((_) => redraw()));
  
negative.code: 
      checkSetScrollStepRedraw(_scrollStep, _scrollListDiv);
    }
  
    num getMinMarginLeft() {
      var _itemSpan = ref(items[0].toString());
      var _spanWidth = _itemSpan.marginEdge.width;
      var _visibleItemsWindowSize = scrollStep * _spanWidth;
  
      return (0 - _spanWidth * items.length + _visibleItemsWindowSize);
    }
  
    setScrollStepSize() {
      var _itemsDivWindowSize = ref('itemsDiv').marginEdge.width;
  
  