   getSize: (_id)->
     _elem = @_elements[_id]
     [ w, h ] = [ 0, 0 ]
-    if _elem?
+    if @_isSVGElem( _elem )
+      _rect = _elem.getBoundingClientRect()
+      console.log( "_Rect", _rect )
+      [ w, h ] = [ _rect.width, _rect.height ]
+    else if _elem?
       [ w, h ] = [ _elem.offsetWidth, _elem.offsetHeight ]
     else if !@isProduction
       console.warn( 'ELEM.getSize(', _id, '): Element not found' )

    return null unless @_elements[_id]? # item is deleted
    unless @hasClassName( _id, _className )
      _elem = @_elements[_id]
      if _elem.className.trim() == ''
        _elem.className = _className
      else
        _classNames = _elem.className.trim().split(' ')
        _classNames.push(_className)
        _elem.className = _classNames.join(' ')
      @_attrCache[_id]['className'] = _elem.className
    null

  ###

    true

  ###
  Get classnames of element
  ###
  _getClassNames: ( _id ) ->
    _elem = @_elements[_id]
    if @_isSVGElem( _elem )
      _elem.className.baseVal
    else
      _elem.className

  ###
  Set classnames for element
  ###
  _setClassNames: ( _id, _className ) ->
    _elem = @_elements[_id]
    if @_isSVGElem( _elem )
      _elem.className.baseVal = _className
    else
      _elem.className = _className


  ###
  Checks if the element has a named CSS className
  ###
  hasClassName: (_id, _className)->
    return null unless @_elements[_id]? # item is deleted
    _classNames = @_getClassNames( _id ).split(' ')
    return !!~_classNames.indexOf( _className )

  ###
