     ctx.textAlign = 'center'
     ctx.textBaseline = 'middle'
 
-    if @label.length > 0
-      ctx.fillText(@label,0,2*@radius)
-
-    ctx.fillText(@value, 0, 0)
+    if @value? && ((@value.length? && @value.length > 0) || @value > 0)
+      ctx.fillText(@value, 0, 0)
+
+      if @label? && @label.length > 0
+        ctx.fillText(@label, 0, 2*@radius)
+    else if @label? && @label.length >0
+      ctx.fillText(@label, 0, 0)
+
     ctx.restore()
 
 class Inner extends Node

    ctx.textAlign = 'center'
    ctx.textBaseline = 'middle'

    ctx.fillText(@value, 0, 0)
    ctx.restore()
 
    if @child0?


    @addAnimations([new CollectionAnimation(anims, -1)])

  removeValues: () ->
    rvFn = (node) ->
      if node.value?
        node.saved_value = node.value
      delete node.value

    for n in @nodes
      n.forAll(rvFn)

class HuffmanNodeCollection extends NodeCollection
  constructor: (shape) ->
    super shape
