         requestAnimationFrame(update)
 
         for element in helix.activeBases
-            element.update()
+            if helix.frame % element.refresh is 0
+                element.update()
+
+        helix.frame++
 
     update()
 

    element = document.createElement("#{tag}")
    for key, value of elOptions
        if value?
            element.set(key, value)

    return element


                        @[name] = value

    _template: (str) ->
        # replace delimited character
        str = str.replace(helix.config.delimiter, (surroundedProperty) =>
            property = surroundedProperty.slice(1)
            value = @[property]
